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

Sprout from master 2004-05-05 00:42:20 UTC Douglas Pollock <dpollock> 'Added code to dispose of the handlers as they are being removed.'
Cherrypick from master 2004-05-05 18:30:59 UTC Douglas Pollock <dpollock> 'Bug 60829.  MultiPageEditorPart didn't handle editor switching properly.  If the new editor was a control, it wouldn't deactivate the nested key binding service.':
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/GlobalBuildAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchAdvisor.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditorPart.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/error.gif
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/inform.gif
    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/question.gif
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/title_banner.gif
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/warning.gif
    bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/package.html
    bundles/org.eclipse.jface/src/org/eclipse/jface/images/preference.gif
    bundles/org.eclipse.jface/src/org/eclipse/jface/images/wizard.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/error.gif
    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.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.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/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/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/addbkmrk_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/addtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/alpha_mode.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/apply_ps.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/backward_nav.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/close_view.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/collapseall.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/defaults_ps.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/edittsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/filter_ps.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/filter_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/forward_nav.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/gotoobj_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/graph_mode.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/home_nav.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/linkto_help.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/list_mode.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/min_view.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/pin_view.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/popup_menu.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/refresh_nav.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/rembkmrk_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/remtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/scroll_lft.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/scroll_rt.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/scrollend.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/scrollhome.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/selected_mode.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showbasic_ps.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showcategory_ps.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showchild_mode.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showcomplete_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showerr_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showexpert_ps.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showparents_mode.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showsync_rn.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showwarn_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/step_current.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/step_done.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/stop_nav.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/build_exec.gif
    bundles/org.eclipse.ui/icons/full/dtool16/copy_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/cut_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/debug_exec.gif
    bundles/org.eclipse.ui/icons/full/dtool16/delete_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/export_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/exportdir_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/exportzip_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/import_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/importdir_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/importzip_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/move_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/new_page.gif
    bundles/org.eclipse.ui/icons/full/dtool16/new_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/newfile_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/newfolder_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/newprj_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/next_nav.gif
    bundles/org.eclipse.ui/icons/full/dtool16/paste_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/pin_editor.gif
    bundles/org.eclipse.ui/icons/full/dtool16/prefs_misc.gif
    bundles/org.eclipse.ui/icons/full/dtool16/prev_nav.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/rename_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/run_exec.gif
    bundles/org.eclipse.ui/icons/full/dtool16/save_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/saveall_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/saveas_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/search_src.gif
    bundles/org.eclipse.ui/icons/full/dtool16/undo_edit.gif
    bundles/org.eclipse.ui/icons/full/elcl16/addbkmrk_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/addtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/alpha_mode.gif
    bundles/org.eclipse.ui/icons/full/elcl16/apply_ps.gif
    bundles/org.eclipse.ui/icons/full/elcl16/backward_nav.gif
    bundles/org.eclipse.ui/icons/full/elcl16/close_view.gif
    bundles/org.eclipse.ui/icons/full/elcl16/collapseall.gif
    bundles/org.eclipse.ui/icons/full/elcl16/defaults_ps.gif
    bundles/org.eclipse.ui/icons/full/elcl16/edittsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/filter_ps.gif
    bundles/org.eclipse.ui/icons/full/elcl16/filter_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/forward_nav.gif
    bundles/org.eclipse.ui/icons/full/elcl16/gotoobj_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/graph_mode.gif
    bundles/org.eclipse.ui/icons/full/elcl16/home_nav.gif
    bundles/org.eclipse.ui/icons/full/elcl16/linkto_help.gif
    bundles/org.eclipse.ui/icons/full/elcl16/list_mode.gif
    bundles/org.eclipse.ui/icons/full/elcl16/min_view.gif
    bundles/org.eclipse.ui/icons/full/elcl16/pin_view.gif
    bundles/org.eclipse.ui/icons/full/elcl16/popup_menu.gif
    bundles/org.eclipse.ui/icons/full/elcl16/refresh_nav.gif
    bundles/org.eclipse.ui/icons/full/elcl16/rembkmrk_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/remtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/scroll_lft.gif
    bundles/org.eclipse.ui/icons/full/elcl16/scroll_rt.gif
    bundles/org.eclipse.ui/icons/full/elcl16/scrollend.gif
    bundles/org.eclipse.ui/icons/full/elcl16/scrollhome.gif
    bundles/org.eclipse.ui/icons/full/elcl16/selected_mode.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showbasic_ps.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showcategory_ps.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showchild_mode.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showcomplete_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showerr_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showexpert_ps.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showparents_mode.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showsync_rn.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showwarn_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/step_current.gif
    bundles/org.eclipse.ui/icons/full/elcl16/step_done.gif
    bundles/org.eclipse.ui/icons/full/elcl16/stop_nav.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/build_exec.gif
    bundles/org.eclipse.ui/icons/full/etool16/copy_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/cut_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/debug_exec.gif
    bundles/org.eclipse.ui/icons/full/etool16/delete_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/export_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/exportdir_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/exportzip_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/import_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/importdir_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/importzip_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/move_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/new_page.gif
    bundles/org.eclipse.ui/icons/full/etool16/new_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/newfile_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/newfolder_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/newprj_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/next_nav.gif
    bundles/org.eclipse.ui/icons/full/etool16/paste_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/pin_editor.gif
    bundles/org.eclipse.ui/icons/full/etool16/prefs_misc.gif
    bundles/org.eclipse.ui/icons/full/etool16/prev_nav.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/rename_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/run_exec.gif
    bundles/org.eclipse.ui/icons/full/etool16/save_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/saveall_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/saveas_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/search_src.gif
    bundles/org.eclipse.ui/icons/full/etool16/undo_edit.gif
    bundles/org.eclipse.ui/icons/full/eview16/bkmrk_nav.gif
    bundles/org.eclipse.ui/icons/full/eview16/default_persp.gif
    bundles/org.eclipse.ui/icons/full/eview16/defaultview_misc.gif
    bundles/org.eclipse.ui/icons/full/eview16/editor_view.gif
    bundles/org.eclipse.ui/icons/full/eview16/filenav_nav.gif
    bundles/org.eclipse.ui/icons/full/eview16/new_persp.gif
    bundles/org.eclipse.ui/icons/full/eview16/opensame_persp.gif
    bundles/org.eclipse.ui/icons/full/eview16/outline_co.gif
    bundles/org.eclipse.ui/icons/full/eview16/problems_view.gif
    bundles/org.eclipse.ui/icons/full/eview16/prop_ps.gif
    bundles/org.eclipse.ui/icons/full/eview16/replace_persp.gif
    bundles/org.eclipse.ui/icons/full/eview16/resource_persp.gif
    bundles/org.eclipse.ui/icons/full/eview16/running.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/cfldr_obj.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/cprj_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/delete_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/dots_button.gif
    bundles/org.eclipse.ui/icons/full/obj16/element_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/elements_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/error_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/file_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/fldr_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/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/locked_ind.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/prj_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/probmrk_tsk.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/obj16/warning.gif
    bundles/org.eclipse.ui/icons/full/obj16/welcome_banner.gif
    bundles/org.eclipse.ui/icons/full/obj16/welcome_editor.gif
    bundles/org.eclipse.ui/icons/full/obj16/welcome_item.gif
    bundles/org.eclipse.ui/icons/full/obj16/workset.gif
    bundles/org.eclipse.ui/icons/full/ovr16/link_ovr.gif
    bundles/org.eclipse.ui/icons/full/ovr16/linkwarn_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/back.gif
    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/progress100.gif
    bundles/org.eclipse.ui/icons/full/progress/progress20.gif
    bundles/org.eclipse.ui/icons/full/progress/progress40.gif
    bundles/org.eclipse.ui/icons/full/progress/progress60.gif
    bundles/org.eclipse.ui/icons/full/progress/progress80.gif
    bundles/org.eclipse.ui/icons/full/progress/progressspin.gif
    bundles/org.eclipse.ui/icons/full/progress/pview.gif
    bundles/org.eclipse.ui/icons/full/progress/running.gif
    bundles/org.eclipse.ui/icons/full/progress/runstate.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.mxsd
    bundles/org.eclipse.ui/schema/commonExpression.mxsd
    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/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/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/icons/sample.gif
    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.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/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/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/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/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/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/NullTitleTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/NullTitleView.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/commands/CommandsTestCase1.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/commands/CommandsTestCase2.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/ContextsTestCase1.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/contexts/ContextsTestCase2.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/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/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/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/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/popups/ObjectContributionTest.java
    tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/popups/PopupsTestSuite.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/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/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/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 975f792..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ActionContributionItem.java
+++ /dev/null
@@ -1,1040 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.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;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.Policy;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-/**
- * 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$
-	private static class ImageCache {
-
-		private class Entry {
-			Image grayImage;
-			Image image;
-
-			void dispose() {
-				if (image != null) {
-					image.dispose();
-					image = null;
-				}
-				if (grayImage != null) {
-					grayImage.dispose();
-					grayImage = null;
-				}
-			}
-		}
-		/** Map from ImageDescriptor to Entry */
-		private Map entries = new HashMap(11);
-		private Image missingImage;
-
-		void dispose() {
-			for (Iterator i = entries.values().iterator(); i.hasNext();) {
-				Entry entry = (Entry) i.next();
-				entry.dispose();
-			}
-			entries.clear();
-		}
-
-		Entry getEntry(ImageDescriptor desc) {
-			Entry entry = (Entry) entries.get(desc);
-			if (entry == null) {
-				entry = new Entry();
-				entries.put(desc, entry);
-			}
-			return entry;
-		}
-
-		Image getGrayImage(ImageDescriptor desc) {
-			if (desc == null) {
-				return null;
-			}
-			Entry entry = getEntry(desc);
-			if (entry.grayImage == null) {
-				Image image = getImage(desc);
-				if (image != null) {
-					entry.grayImage = new Image(null, image, SWT.IMAGE_GRAY);
-				}
-			}
-			return entry.grayImage;
-		}
-
-		Image getImage(ImageDescriptor desc) {
-			if (desc == null) {
-				return null;
-			}
-			Entry entry = getEntry(desc);
-			if (entry.image == null) {
-				entry.image = desc.createImage();
-			}
-			return entry.image;
-		}
-
-		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 ExternalActionManager.IActionTextListener actionTextListener = new ExternalActionManager.IActionTextListener() {
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see org.eclipse.jface.action.CommandResolver.IActionTextListener#textChanged()
-         */
-        public void textChanged() {
-            update(IAction.TEXT);
-        }
-    };
-
-	/**
-	 * 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.addActionTextListener(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.addActionTextListener(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.addActionTextListener(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 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.removeActionTextListener(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 e6235d1..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/CoolBarManager.java
+++ /dev/null
@@ -1,1015 +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 resetLayout() {
-        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();
-            }
-        }
-        setLayout(cbItemsCreationOrder);
-    }
-
-    /*
-     * (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 internal data structure with the given new order. Then
-     * force and update.
-     * 
-     * @param newLayout
-     *            a list of new order of contribution items.
-     */
-    public void setLayout(ArrayList newLayout) {
-        IContributionItem[] newItems = new IContributionItem[newLayout.size()];
-        newItems = (IContributionItem[]) newLayout.toArray(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 6a89d5f..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/ExternalActionManager.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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;
-
-/**
- * <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>
- * 
- * @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 the visible text of the item is to
-         * 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 addActionTextListener(String identifier,
-                IActionTextListener 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 removeActionTextListener(String identifier,
-                IActionTextListener listener);
-    }
-
-    /**
-     * A listener for changes to an action's text -- as dictated by some
-     * external tool. The listener simply receives a notice that the text has
-     * changed, and should go about updating visual controls appropriately.
-     * 
-     * @since 3.0
-     */
-    public static interface IActionTextListener {
-
-        /**
-         * This method is called when the text of the associated item is
-         * changed.
-         */
-        public void textChanged();
-    }
-
-    /**
-     * 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 b7634fe..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IAction.java
+++ /dev/null
@@ -1,464 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.
- * </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 fa88855..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/action/IContributionManagerOverrides.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;
-
-
-/**
- * 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);
-	
-	// TODO deprecate before 3.0
-	public Integer getAccelerator(IContributionItem item);
-	
-	// TODO deprecate before 3.0
-	public String getAcceleratorText(IContributionItem item);
-	
-	// TODO deprecate before 3.0 (?)
-	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 c1527aa..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(menuText);
-
-			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 = menuText;
-
-			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 40321d5..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/Dialog.java
+++ /dev/null
@@ -1,932 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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>).
-	 */
-	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>).
-	 */
-	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>).
-	 */
-	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>).
-	 */
-	public static final String DLG_IMG_WARNING = "dialog_warning_image"; //$NON-NLS-1$
-	/**
-	 * Image registry key for info message image (value
-	 * <code>"dialog_messsage_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$
-	static {
-		ImageRegistry reg = JFaceResources.getImageRegistry();
-		reg.put(DLG_IMG_INFO, ImageDescriptor.createFromFile(Dialog.class,
-				"images/inform.gif")); //$NON-NLS-1$
-		reg.put(DLG_IMG_QUESTION, ImageDescriptor.createFromFile(Dialog.class,
-				"images/question.gif")); //$NON-NLS-1$
-		reg.put(DLG_IMG_WARNING, ImageDescriptor.createFromFile(Dialog.class,
-				"images/warning.gif")); //$NON-NLS-1$
-		reg.put(DLG_IMG_ERROR, ImageDescriptor.createFromFile(Dialog.class,
-				"images/error.gif")); //$NON-NLS-1$
-		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.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 cf24744..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/DialogPage.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.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() {
-	}
-	/**
-	 * 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() {
-	}
-	/**
-	 * 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 a07ca6c..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ErrorDialog.java
+++ /dev/null
@@ -1,436 +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);
-		}
-	}
-	/*
-	 * @see IconAndMessageDialog#getImage()
-	 */
-	protected Image getImage() {
-		if (status != null) {
-			if (status.getSeverity() == IStatus.WARNING)
-				return JFaceResources.getImageRegistry().get(DLG_IMG_WARNING);
-			if (status.getSeverity() == IStatus.INFO)
-				return JFaceResources.getImageRegistry().get(DLG_IMG_INFO);
-		}
-		//If it was not a warning or an error then return the error image
-		return JFaceResources.getImageRegistry().get(DLG_IMG_ERROR);
-	}
-	/**
-	 * 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(status.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 = status.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 08ff7b5..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IDialogBlockedHandler.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.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.
-	 * @param parentShell The shell this is being sent from.
-	 * @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(Shell parentShell, IProgressMonitor blocking, IStatus blockingStatus,
-			String blockedName);
-	
-	/**
-	 * A blockage has occured. Show the blockage and 
-	 * forward any actions to blockingMonitor. 
-	 * 
-	 * @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 996ecae..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/IconAndMessageDialog.java
+++ /dev/null
@@ -1,149 +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);
-	}
-}
\ 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 843aac8..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/InputDialog.java
+++ /dev/null
@@ -1,213 +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 concete 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 Label errorMessageLabel;
-	/**
-	 * 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();
-			}
-		});
-		text.setFont(parent.getFont());
-		errorMessageLabel = new Label(composite, SWT.NONE);
-		errorMessageLabel.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
-				| GridData.HORIZONTAL_ALIGN_FILL));
-		errorMessageLabel.setFont(parent.getFont());
-		return composite;
-	}
-	/**
-	 * Returns the error message label.
-	 * 
-	 * @return the error message label
-	 */
-	protected Label getErrorMessageLabel() {
-		return errorMessageLabel;
-	}
-	/**
-	 * 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)
-		errorMessageLabel.setText(errorMessage == null ? "" : errorMessage); //$NON-NLS-1$
-		okButton.setEnabled(errorMessage == null);
-		errorMessageLabel.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 8b6afa1..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/MessageDialog.java
+++ /dev/null
@@ -1,436 +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.*;
-/**
- * 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 = getImage(DLG_IMG_ERROR);
-				break;
-			}
-			case INFORMATION : {
-				this.image = getImage(DLG_IMG_INFO);
-				break;
-			}
-			case QUESTION : {
-				this.image = getImage(DLG_IMG_QUESTION);
-				break;
-			}
-			case WARNING : {
-				this.image = getImage(DLG_IMG_WARNING);
-				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 977816e..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/MessageDialogWithToggle.java
+++ /dev/null
@@ -1,608 +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.open();
-        dialog.prefStore = store;
-        dialog.prefKey = key;
-        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) {
-            if (buttonId == IDialogConstants.YES_ID) {
-                prefStore.setValue(prefKey, ALWAYS);
-            } else if (buttonId == IDialogConstants.NO_ID) {
-                prefStore.setValue(prefKey, NEVER);
-            } else if (buttonId == IDialogConstants.OK_ID) {
-                prefStore.setValue(prefKey, ALWAYS);
-            }
-        }
-    }
-
-    /**
-     * @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;
-            }
-            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 33fa229..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/ProgressMonitorDialog.java
+++ /dev/null
@@ -1,541 +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);
-	}
-	/*
-	 * @see org.eclipse.jface.dialogs.IconAndMessageDialog#getImage()
-	 */
-	protected Image getImage() {
-		return JFaceResources.getImageRegistry().get(Dialog.DLG_IMG_INFO);
-	}
-	/**
-	 * 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 c952a1e..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/TitleAreaDialog.java
+++ /dev/null
@@ -1,587 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.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;
-		else
-			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/error.gif b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/error.gif
deleted file mode 100644
index 4115fa6..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/error.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/inform.gif b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/inform.gif
deleted file mode 100644
index a7f5429..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/inform.gif
+++ /dev/null
Binary files differ
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/question.gif b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/question.gif
deleted file mode 100644
index af00b54..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/question.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/images/warning.gif b/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/warning.gif
deleted file mode 100644
index 97f3361..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/images/warning.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/preference.gif b/bundles/org.eclipse.jface/src/org/eclipse/jface/images/preference.gif
deleted file mode 100644
index 2b8c0bb..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/images/preference.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/images/wizard.gif b/bundles/org.eclipse.jface/src/org/eclipse/jface/images/wizard.gif
deleted file mode 100644
index 2b8c0bb..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/images/wizard.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 c9596d8..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/operation/AccumulatingProgressMonitor.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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;
-		
-		public Collector(
-				String subTask, 
-				double work, 
-				IProgressMonitor monitor) {
-			this.subTask = subTask;
-			this.worked = work;
-			this.monitor = monitor;
-		}
-		
-		public void worked(double worked) {
-			this.worked = this.worked + worked;
-		}
-		
-		public void subTask(String subTask) {
-			this.subTask = subTask;
-		}
-		
-		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.
- */
-private synchronized void clearCollector(Collector collector) {
-	// Check if the accumulator is still using the given collector.
-	// If not, don't clear it.
-	if (this.collector == collector)
-		this.collector = null;
-}
-/**
- * Creates a collector object to accumulate work and subtask calls.
- */
-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);
-			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 3b214d0..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/operation/ModalContext.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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) {
-				}
-			}
-		}		
-	}
-/**
- * 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 cf5c16d..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceDialog.java
+++ /dev/null
@@ -1,1150 +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.Platform;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.custom.ViewForm;
-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;
-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;
-/**
- * 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 Color titleAreaColor;
-	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);
-		final Color borderColor = new Color(titleArea.getDisplay(),
-				ViewForm.borderOutsideRGB);
-		titleArea.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				e.gc.setForeground(borderColor);
-				Rectangle bounds = titleArea.getClientArea();
-				bounds.height = bounds.height - 2;
-				bounds.width = bounds.width - 1;
-				e.gc.drawRectangle(bounds);
-			}
-		});
-		// Add a dispose listener
-		titleArea.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				if (titleAreaColor != null)
-					titleAreaColor.dispose();
-				borderColor.dispose();
-			}
-		});
-		// 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());
-		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;
-		else
-			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() {
-		// 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;
-			}
-		}
-		// Give subclasses the choice to save the state of the
-		// preference pages.
-		handleSave();
-		close();
-	}
-	/**
-	 * 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);
-	}
-	/**
-	 * Get the name of the selected item preference
-	 * 
-	 * @param pageId
-	 *            The indentifer 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$
-	/**
-	 * Shortned 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);
-		System.out.println();
-		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 77bf4bf..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 67647fe..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/FileImageDescriptor.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.resource;
-
-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.
- */
-private InputStream getStream() {
-	InputStream is = null;
-
-	if (location != null) {
-		is = location.getResourceAsStream(name);
-	} else {
-		try {
-			is = new FileInputStream(name);
-		} catch (FileNotFoundException e) {
-			return null;
-		}
-	}
-	return 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 b0344d8..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/ImageRegistry.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
- * 	   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.util.Assert;
-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;
-
-	/**
-	 * 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.
-	 */
-	public ImageRegistry(Display display) {
-		super();
-		Assert.isNotNull(display);
-		hookDisplayDispose(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) {
-		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() {
-
-		//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 c6341a2..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/resource/URLImageDescriptor.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.jface.resource;
-
-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.
- */
-protected InputStream getStream() {
-	try {
-		return 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 1b48192..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/Policy.java
+++ /dev/null
@@ -1,100 +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 {
-	public static final boolean DEFAULT = false;
-	public static final String JFACE = "org.eclipse.jface";//$NON-NLS-1$
-	private static ILog log;
-	public static boolean DEBUG_DIALOG_NO_PARENT = DEFAULT;
-	public static boolean TRACE_ACTIONS = DEFAULT;
-	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");
-			TRACE_TOOLBAR = getDebugOption("/trace/toolbarDisposal");
-		}
-	}
-	
-	/**
-	 * 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$
-		else
-			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 6b02b9d..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/util/SafeRunnable.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.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;
-	
-	/**
-	 * Since 3.0, ignore errors by default, since if there are many errors, the
-	 * user can get swamped with error dialogs.  Although JFace and apps like
-	 * the Workbench need to protect themselves, and can use this mechanism to do so,
-	 * it should not automatically harrass the user with error dialogs.
-	 * Errors are still logged by Platform.run.
-	 */
-	private static boolean ignoreErrors = true;
-
-/**
- * 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 a767f7e..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
+++ /dev/null
@@ -1,1646 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-
-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;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-
-/**
- * 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;
-
-	/**
-	 * The safe runnable used to call the label provider. */
-	private UpdateItemSafeRunnable safeUpdateItem =
-		new UpdateItemSafeRunnable();
-
-	class UpdateItemSafeRunnable extends SafeRunnable {
-		Object element;
-		Item item;
-		boolean exception = false;
-		public void run() {
-			if (exception)
-				return;
-			doUpdateItem(item, element);
-		}
-		public void handleException(Throwable e) {
-			super.handleException(e);
-			//If and unexpected exception happens, remove it
-			//to make sure the application keeps running.
-			exception = true;
-		}
-	}
-
-	/**
-	 * 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() {
-	}
-	/**
-	 * 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.
-	 */
-	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) {
-	}
-	/**
-	 * 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++) {
-						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
-			safeUpdateItem.item = item;
-			safeUpdateItem.element = element;
-			try {
-				Platform.run(safeUpdateItem);
-			} finally {
-				safeUpdateItem.item = null;
-				safeUpdateItem.element = null;
-			}
-		}
-	}
-	/**
-	 * 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
-	 */
-	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
-	 */
-	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
-	 */
-	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.
-	 */
-	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();
-		HashSet parentItems = new HashSet(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.add(parentItem);
-				}
-				disassociate((Item) childItem);
-				childItem.dispose();
-			}
-		}
-		Control tree = getControl();
-		for (Iterator i = parentItems.iterator(); i.hasNext();) {
-			Item parentItem = (Item) i.next();
-			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(HashSet 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);
-				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]);
-		} else {
-			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);
-		HashSet expandedElements = new HashSet(elements.length * 2 + 1);
-		for (int i = 0; i < elements.length; ++i) {
-			// Ensure item exists for element
-			internalExpand(elements[i], false);
-			expandedElements.add(elements[i]);
-		}
-		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
-		HashSet expanded = new HashSet(); // 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.add(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);
-					}
-				}
-			}
-		}
-		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.contains(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.isEmpty()) {
-				// 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.contains(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 6740c54..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckboxTableViewer.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.jface.viewers;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-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();
-	Set checked = new HashSet(children.length);
-	Set grayed = new HashSet(children.length);
-
-	for (int i = 0; i < children.length; i++) {
-		TableItem item = children[i];
-		Object data = item.getData();
-		if (data != null) {
-			if (item.getChecked())
-				checked.add(data);
-			if (item.getGrayed())
-				grayed.add(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.contains(data));
-			item.setGrayed(grayed.contains(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);
-	Set set = new HashSet(elements.length*2+1);
-	for (int i = 0; i < elements.length; ++i) {
-		set.add(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.contains(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);
-	Set set = new HashSet(elements.length*2+1);
-	for (int i = 0; i < elements.length; ++i) {
-		set.add(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.contains(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 d1330bf..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.HashSet;
-import java.util.List;
-import java.util.Set;
-
-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(Set checked, Set 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.contains(data));
-				ti.setGrayed(grayed.contains(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(Set checked, Set 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.add(data);
-				if (ti.getGrayed())
-					grayed.add(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(Set 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.contains(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(Set 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.contains(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());
-	Set checkedNodes = new HashSet(n);
-	Set grayedNodes = new HashSet(n);
-
-	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);
-	Set checkedElements = new HashSet(elements.length*2+1);
-	for (int i = 0; i < elements.length; ++i) {
-		// Ensure item exists for element
-		internalExpand(elements[i], false);
-		checkedElements.add(elements[i]);
-	}
-	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);
-	Set grayedElements = new HashSet(elements.length*2+1);
-	for (int i = 0; i < elements.length; ++i) {
-		// Ensure item exists for element
-		internalExpand(elements[i], false);
-		grayedElements.add(elements[i]);
-	}
-	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 0929004..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CustomHashtable.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:
- *     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();
-
-	/**
-	 * 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(13, 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 25af5ee..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DialogCellEditor.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.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.
- * <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
- */
-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 4ba8c0a..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 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 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 5b241b8..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/StructuredViewer.java
+++ /dev/null
@@ -1,1309 +0,0 @@
-/******************************************************************************* 
- * Copyright (c) 2000, 2003 IBM Corporation and others. 
- * All rights reserved. This program and the accompanying materials! 
- * are made available under the terms of the Common Public License v1.0 
- * which accompanies 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 call the label provider.
-	 */
-	private	UpdateItemSafeRunnable safeUpdateItem = new UpdateItemSafeRunnable();
-	
-	class UpdateItemSafeRunnable extends SafeRunnable {
-		Object object;
-		Widget widget;
-		boolean fullMap;
-		boolean exception = false;
-		public void run() {
-			if(exception) return;
-			doUpdateItem(widget,object,fullMap);
-		}
-		public void handleException(Throwable e) {
-			super.handleException(e);
-			//If and unexpected exception happens, remove it
-			//to make sure the application keeps running.
-			exception = true;
-		}		
-	} 		
-	
-/**
- * Creates a structured element viewer. The viewer has no input, 
- * no content provider, a default label provider, no sorter, and no filters.
- */
-protected StructuredViewer() {
-}
-/**
- * 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);
-	item.setData(null);
-	unmapElement(element, item);
-}
-/**
- * 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;
-}
-/**
- * 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) {
-	try {
-		safeUpdateItem.widget = widget;
-		safeUpdateItem.object = element;
-		safeUpdateItem.fullMap = false;
-		Platform.run(safeUpdateItem);
-	}
-	finally {
-		// clean up
-		safeUpdateItem.widget = null;
-		safeUpdateItem.object = null;
-	}
-}
-/**
- * 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= new CustomHashtable(comparer);
-	} 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 = new CustomHashtable(comparer);
-	}
-}
-/**
- * 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) {
-	try {
-		safeUpdateItem.widget = widget;
-		safeUpdateItem.object = element;
-		safeUpdateItem.fullMap = true;
-		Platform.run(safeUpdateItem);
-	}
-	finally {
-		// clean up
-		safeUpdateItem.widget = null;
-		safeUpdateItem.object = null;
-	}
-}
-/**
- * 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;
-}    
-
-
-}
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 ab5ada3..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableViewer.java
+++ /dev/null
@@ -1,681 +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.
-				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 d024b5d..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TreeViewer.java
+++ /dev/null
@@ -1,287 +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.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-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;
-
-import org.eclipse.jface.util.Assert;
-
-/**
- * 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) {
-	// 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 {
-		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);
-}
-
-private boolean haveSameData(List items, Item[] current){
-	//If they are not the same size then they are not equivalent
-	if(items.size() != current.length)
-		return false;
-	
-	Set values = new HashSet();
-	Iterator itemsIterator = items.iterator();
-	
-	//Set up a list of items
-	while(itemsIterator.hasNext()){
-		values.add(((Item) itemsIterator.next()).getData());
-	}
-	
-	//Go through the items of the current collection
-	//If there is a mismatch return false
-	for (int i = 0; i < current.length; i++) {
-		if(values.contains(current[i].getData()))
-			continue;
-		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 bb0aa07..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/window/ApplicationWindow.java
+++ /dev/null
@@ -1,657 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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()) {
-		menuBarManager = null;
-		toolBarManager = null;
-		statusLineManager = null;
-		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()) currentFocus.setFocus();
-		}
-	} 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 bab7763..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/WizardDialog.java
+++ /dev/null
@@ -1,1141 +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));
-		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$
-		ControlEnableState pageState = (ControlEnableState) state.get("page"); //$NON-NLS-1$
-		pageState.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$
-		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);
-		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() {
-		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 = currentPage.getTitle();
-		if (s == null)
-			s = ""; //$NON-NLS-1$
-		setTitle(s);
-		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/error.gif b/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/images/error.gif
deleted file mode 100644
index def995e..0000000
--- a/bundles/org.eclipse.jface/src/org/eclipse/jface/wizard/images/error.gif
+++ /dev/null
Binary files differ
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 f3ad23d..0000000
--- a/bundles/org.eclipse.ui.carbon/build.properties
+++ /dev/null
@@ -1,15 +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,\
-			   fragment.properties,\
-               *.jar,\
-               carbon.jar
diff --git a/bundles/org.eclipse.ui.carbon/fragment.properties b/bundles/org.eclipse.ui.carbon/fragment.properties
deleted file mode 100644
index 0450a4f..0000000
--- a/bundles/org.eclipse.ui.carbon/fragment.properties
+++ /dev/null
@@ -1,15 +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
-###############################################################################
-
-fragmentName= Mac OS X User Interface Enhancer
-providerName= Eclipse.org
-
-startupName= Mac OS X User Interface Enhancer
diff --git a/bundles/org.eclipse.ui.carbon/fragment.xml b/bundles/org.eclipse.ui.carbon/fragment.xml
deleted file mode 100644
index 4724360..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="%fragmentName"
-   version="3.0"
-   provider-name="%providerName"
-   plugin-id="org.eclipse.ui"
-   plugin-version="3.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 62e0300..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/DetailsPart.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this 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;
-			}
-		}
-		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 f971c03..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/FormColors.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;
-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);
-		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);
-	}
-	/**
-	 * 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 57372aa..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/MasterDetailsBlock.java
+++ /dev/null
@@ -1,111 +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.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 7169dbf..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormEditor.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.ui.forms.editor;
-import java.util.Vector;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorActionBarContributor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.part.MultiPageEditorActionBarContributor;
-import org.eclipse.ui.part.MultiPageEditorPart;
-import org.eclipse.ui.part.MultiPageSelectionProvider;
-/**
- * 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.
-	 * 
-	 * @param page
-	 *            the page to add
-	 */
-	public int addPage(IFormPage page) throws PartInitException {
-		int i = addPage(page.getPartControl());
-		configurePage(i, page);
-		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);
-		}
-		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);
-	}
-	/**
-	 * 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++) {
-			IFormPage page = (IFormPage) pages.get(i);
-			// don't dispose source pages because they will
-			// be disposed as nested editors by the superclass
-			if (!page.isEditor())
-				page.dispose();
-		}
-		pages = 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.
-		IFormPage page = (IFormPage) pages.get(newPageIndex);
-		if (page.getPartControl() == null) {
-			page.createPartControl(getContainer());
-			setControl(newPageIndex, page.getPartControl());
-			page.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++) {
-			IFormPage page = (IFormPage) pages.get(i);
-			if (page.getId().equals(pageId)) {
-				setActivePage(i);
-				return page;
-			}
-		}
-		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++) {
-			IFormPage page = (IFormPage) pages.get(i);
-			if (page.getId().equals(pageId))
-				return page;
-		}
-		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++) {
-			IFormPage page = (IFormPage) pages.get(i);
-			if (page.selectReveal(pageInput))
-				return page;
-		}
-		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)
-			return (IFormPage) pages.get(index);
-		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(IFormPage page) throws PartInitException {
-		if (!pages.contains(page))
-			pages.add(page);
-		if (page.isEditor() == false) {
-			page.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 6902339..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/AbstractHyperlink.java
+++ /dev/null
@@ -1,266 +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();
-		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 1e3aefd..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Form.java
+++ /dev/null
@@ -1,345 +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);
-		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 abdcbae..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ImageHyperlink.java
+++ /dev/null
@@ -1,207 +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;
-	/**
-	 * 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, 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 ((getStyle() & SWT.BOTTOM) != 0) {
-				textY = marginHeight + slotHeight - textHeight;
-			} else if ((getStyle() & SWT.CENTER) != 0) {
-				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;
-		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);
-	}
-}
\ 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 18eedea..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledPageBook.java
+++ /dev/null
@@ -1,214 +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());
-		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 72ae940..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.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-		int twidth = bounds.width - marginWidth - marginWidth;
-		if (tsize != null)
-			twidth -= tsize.x + GAP;
-		if (getTextClient() != null)
-			tcsize = getTextClient()
-					.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-		if (tcsize != null)
-			twidth -= tcsize.x + GAP;
-		Point size = textLabel.computeSize(twidth, SWT.DEFAULT, true);
-		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 2d57a6c..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapLayout.java
+++ /dev/null
@@ -1,836 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this 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, 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, boolean changed) {
-		int widthArg = width;
-		if (!isWrap(child))
-			widthArg = SWT.DEFAULT;
-		Point size = child.computeSize(widthArg, SWT.DEFAULT, changed);
-		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;
-		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, 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 bf36d5c..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TreeNode.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.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);
-		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 3e2862b..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, true);
-			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/extensions/org/eclipse/ui/actions/GlobalBuildAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/GlobalBuildAction.java
index 75b216d..343473e 100644
--- 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
@@ -22,7 +22,6 @@
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.dialogs.ErrorDialog;
 import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPage;
@@ -33,7 +32,6 @@
 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.progress.IProgressService;
 /**
  * Standard action for full and incremental builds of all projects within the
  * workspace.
@@ -322,15 +320,4 @@
 		//If they cancelled get them to do it again.
 		return false;
 	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#setImageDescriptor(org.eclipse.jface.resource.ImageDescriptor)
-	 */
-	public void setImageDescriptor(ImageDescriptor newImage) {
-		super.setImageDescriptor(newImage);
-		IProgressService service = PlatformUI.getWorkbench().getProgressService();
-		service.registerIconForFamily(newImage,ResourcesPlugin.FAMILY_MANUAL_BUILD);
-		service.registerIconForFamily(newImage,ResourcesPlugin.FAMILY_AUTO_BUILD);
-		
-	}
 }
\ No newline at end of file
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
index e7830a1..39283a8 100644
--- 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
@@ -71,6 +71,7 @@
 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;
 
 /**
@@ -192,6 +193,16 @@
 				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)
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 8e8d4c6..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = plugin.xml,\
-               *.jar,\
-               rcptutorial1.jar,\
-               plugin.properties,\
-               html/
-source.rcptutorial1.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/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 4503816..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/tutorial1.html
+++ /dev/null
@@ -1,515 +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">April 1, 2004 - Updated for 3.0M8</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;rcptutorial1.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>
-
-<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,\
-               rcptutorial1.jar,\
-               plugin.properties
-source.rcptutorial1.jar = src/
-</pre>
-
-<p>
-Finally, the plugin.properties file (listing 6) contains 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.
-Click  with this plug-in and all of its pre-requisites.
-Enter the plug-in id (<code>org.eclipse.ui.tutorials.rcp.part1</code>)
-and press Debug.
-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
-   rem Check workspace\.metadata\.log for errors
-   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
-   rem Check configuration\*\*.log for errors
-   del configuration\*.log
-   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>'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>.
-</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>
-</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 30dd425..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-pluginName = RcpTutorial1 Plug-in
-providerName = eclipsepowered.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 2d83438..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="rcptutorial1.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 41c3cb0..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = plugin.xml,\
-               *.jar,\
-               rcptutorial2.jar,\
-               plugin.properties,\
-               html/
-source.rcptutorial2.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 0fde41f..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/tutorial2.html
+++ /dev/null
@@ -1,549 +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">May 3, 2004 - Updated for 3.0M8</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>.
-</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 4500f62..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-pluginName = RcpTutorial2 Plug-in
-providerName = eclipsepowered.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 da1c038..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="rcptutorial2.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 f35953b..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-bin.includes = plugin.xml,\
-               *.jar,\
-               rcptutorial3.jar,\
-               plugin.properties,\
-               book.xml,\
-               html/,\
-               icons/
-source.rcptutorial3.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 5a22973..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/tutorial3.html
+++ /dev/null
@@ -1,516 +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">May 3, 2004 - Updated for 3.0M8</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.
-The Help menu was constructed completely from contributions that reference these
-standard groups.
-</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>
-Including these plug-ins has the side-effect of contributing a 
-Help Contents action to your Help menu
-that will fire up the 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,\
-               rcptutorial3.jar,\
-               plugin.properties,\
-               <b>book.xml,\</b>
-               <b>html/,\</b>
-               <b>icons/</b>
-source.rcptutorial3.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>.
-
-</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 8b96b14..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-pluginName = RcpTutorial3 Plug-in
-providerName = eclipsepowered.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 b167200..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="rcptutorial3.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 4710554..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpWorkbenchAdvisor.java
+++ /dev/null
@@ -1,128 +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"), //$NON-NLS-1$
-                IWorkbenchActionConstants.M_HELP);
-        menu.add(new GroupMarker(IWorkbenchActionConstants.HELP_START));
-        menu.add(new GroupMarker(IWorkbenchActionConstants.HELP_END));
-        menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-        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 104f2d8..0000000
--- a/bundles/org.eclipse.ui.views/plugin.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
-###############################################################################
-pluginName= Views
-providerName= Eclipse.org
-
-Views.PropertySheet = Properties
-Views.ContentOutline = Outline
diff --git a/bundles/org.eclipse.ui.views/plugin.xml b/bundles/org.eclipse.ui.views/plugin.xml
deleted file mode 100644
index 7e89d1b..0000000
--- a/bundles/org.eclipse.ui.views/plugin.xml
+++ /dev/null
@@ -1,41 +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.compatibility"/>
-      <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>
-
-</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 754636e..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/ViewsPlugin.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.views;
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-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(IPluginDescriptor)
-	 */
-	public ViewsPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		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 435dab2..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntry.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.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.
- */
-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);
-}
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 f89df9e..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource.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.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
- */
-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 the notion of default value
- * is not meaningful for the specified property, or if this source does not have
- * the specified property.
- * 
- * @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, and <code>false</code> otherwise
- */
-public boolean isPropertySet(Object id);
-/**
- * Resets the property with the given id to its default value if possible.
- * Does nothing if the notion of 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.
- * 
- * @param id the id of the property being reset
- */
-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/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 82d848f..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetEntry.java
+++ /dev/null
@@ -1,639 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this 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.*;
-
-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>
- */
-/*package*/ 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;
-	} else {
-		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.
- */
-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.
- *
- * @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.
- */
-private IPropertyDescriptor getDescriptor() {
-	return descriptor;
-}
-/* (non-Javadoc)
- * Method declared on IPropertySheetEntry.
- */
-public String getDisplayName() {
-	return descriptor.getDisplayName();
-}
-/* (non-Javadoc)
- * Method declared on IPropertySheetEntry.
- */
-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.
- *
- * @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.
- */
-private Object[] getValues() {
-	return values;
-}
-/* (non-Javadoc)
- * Method declared on IPropertySheetEntry.
- */
-public boolean hasChildEntries() {
-	if (childEntries != null && childEntries.length > 0)
-		return true;
-	else
-		// 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[] sources = parent.getValues();
-
-	// loop through the objects getting our property value from each
-	Object[] newValues = new Object[sources.length];
-	for (int i = 0; i < sources.length; i++) {
-	 	IPropertySource source = parent.getPropertySource(sources[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())) {
-			source.resetPropertyValue(descriptor.getId());
-			change = true;
-		}
-	}
-	if (change)
-		refreshFromRoot();
-}
-/**
- * Set the descriptor.
- */
-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. 
- */
-private void setParent(PropertySheetEntry p){
-	parent = p;
-}
-/*
- * 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.
- */
-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 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 d3a8da1..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetPage.java
+++ /dev/null
@@ -1,421 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this 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.MalformedURLException;
-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.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * 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((IStructuredSelection) 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
-	 */
-	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.
-	 */
-	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;
-		}
-	}
-	/**
-	 * 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){
-			}
-		};
-		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.
-	 */
-	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 8f80511..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetViewer.java
+++ /dev/null
@@ -1,1121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this 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.
-	 */
-	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;
-			else
-				// 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) {
-			}
-			public void applyEditorValue() {
-			}
-		};
-	}
-	/** 
-	 * 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 i) {
-		// create the item
-		TableTreeItem item;
-		if (parent instanceof TableTreeItem)
-			item = new TableTreeItem((TableTreeItem) parent, SWT.NONE, i);
-		else
-			item = new TableTreeItem((TableTree) parent, SWT.NONE, i);
-
-		// 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
-	 */
-	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
-	 */
-	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 cellEditor the activated cell editor
-	 */
-	private void fireCellEditorActivated(CellEditor cellEditor) {
-		Object[] listeners = activationListeners.getListeners();
-		for (int i = 0; i < listeners.length; ++i) {
-			((ICellEditorActivationListener) listeners[i]).cellEditorActivated(cellEditor);
-		}
-	}
-	/**
-	 * Notifies all registered cell editor activation listeners
-	 * of a cell editor deactivation.
-	 *
-	 * @param cellEditor the deactivated cell editor
-	 */
-	private void fireCellEditorDeactivated(CellEditor cellEditor) {
-		Object[] listeners = activationListeners.getListeners();
-		for (int i = 0; i < listeners.length; ++i) {
-			((ICellEditorActivationListener) listeners[i]).cellEditorDeactivated(cellEditor);
-		}
-	}
-	/**
-	 * 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
-	 *
-	 * @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
-	 *
-	 * @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
-	 *
-	 * @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.
-	 *
-	 * @entries the entries to filter
-	 * @return the entries which match the current filter
-	 *  (element type <code>IPropertySheetEntry</code>)
-	 */
-	private List getFilteredEntries(IPropertySheetEntry[] entires) {
-		// if no filter just return all entries
-		if (isShowingExpertProperties)
-			return Arrays.asList(entires);
-
-		// check each entry for the filter
-		List filteredEntries = new ArrayList(entires.length);
-		for (int i = 0; i < entires.length; i++) {
-			String[] filters = ((IPropertySheetEntry) entires[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(entires[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 input 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);
-	}
-	/**
-	 * The <code>PropertySheetViewer</code> implementation of this 
-	 * <code>Viewer</code> method does nothing.
-	 */
-	public void setSelection(ISelection selection, boolean reveal) {
-	}
-	/**
-	 * 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 node 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()) && childItems.length == 0) // 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.
-				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((PropertySheetCategory) 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 node 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.
-	 *
-	 * @parem 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
-		}
-	}
-}
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 1f315a6..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/fragment.xml
+++ /dev/null
@@ -1,17 +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"
-   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/part/MultiPageEditorPart.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditorPart.java
index 19e530f..6e4375c 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditorPart.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditorPart.java
@@ -527,38 +527,51 @@
  *            the index of the page
  */
 private void setFocus(int pageIndex) {
-	IKeyBindingService service = getSite().getKeyBindingService();
-	if (pageIndex < 0 || pageIndex >= getPageCount()) {
-		// There is no selected page, so deactivate the active service.
-		if (service instanceof INestableKeyBindingService) {
-			INestableKeyBindingService nestableService = (INestableKeyBindingService) service;
-			nestableService.activateKeyBindingService(null);
-		} else {
-			WorkbenchPlugin.log("MultiPageEditorPart.setFocus()   Parent key binding service was not an instance of INestableKeyBindingService.  It was an instance of " + service.getClass().getName() + " instead."); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return;
-	}
-	
-	IEditorPart editor = getEditor(pageIndex);
-	if (editor != null) {
-		editor.setFocus();
-		// There is no selected page, so deactivate the active service.
-		if (service instanceof INestableKeyBindingService) {
-			INestableKeyBindingService nestableService = (INestableKeyBindingService) service;
-			if (editor != null) {
-				nestableService.activateKeyBindingService(editor.getEditorSite());
-			} else {
-				nestableService.activateKeyBindingService(null);
-			}
-		} else {
-			WorkbenchPlugin.log("MultiPageEditorPart.setFocus()   Parent key binding service was not an instance of INestableKeyBindingService.  It was an instance of " + service.getClass().getName() + " instead."); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	} else {
-		Control control = getControl(pageIndex);
-		if (control != null) {
-			control.setFocus();
-		}
-	}
+	final IKeyBindingService service = getSite().getKeyBindingService();
+        if (pageIndex < 0 || pageIndex >= getPageCount()) {
+            // There is no selected page, so deactivate the active service.
+            if (service instanceof INestableKeyBindingService) {
+                final INestableKeyBindingService nestableService = (INestableKeyBindingService) service;
+                nestableService.activateKeyBindingService(null);
+            } else {
+                WorkbenchPlugin
+                        .log("MultiPageEditorPart.setFocus()   Parent key binding service was not an instance of INestableKeyBindingService.  It was an instance of " + service.getClass().getName() + " instead."); //$NON-NLS-1$ //$NON-NLS-2$
+            }
+            return;
+        }
+
+        final IEditorPart editor = getEditor(pageIndex);
+        if (editor != null) {
+            editor.setFocus();
+            // There is no selected page, so deactivate the active service.
+            if (service instanceof INestableKeyBindingService) {
+                final INestableKeyBindingService nestableService = (INestableKeyBindingService) service;
+                if (editor != null) {
+                    nestableService.activateKeyBindingService(editor
+                            .getEditorSite());
+                } else {
+                    nestableService.activateKeyBindingService(null);
+                }
+            } else {
+                WorkbenchPlugin
+                        .log("MultiPageEditorPart.setFocus()   Parent key binding service was not an instance of INestableKeyBindingService.  It was an instance of " + service.getClass().getName() + " instead."); //$NON-NLS-1$ //$NON-NLS-2$
+            }
+        } else {
+            // There is no selected editor, so deactivate the active service.
+            if (service instanceof INestableKeyBindingService) {
+                final INestableKeyBindingService nestableService = (INestableKeyBindingService) service;
+                nestableService.activateKeyBindingService(null);
+            } else {
+                WorkbenchPlugin
+                        .log("MultiPageEditorPart.setFocus()   Parent key binding service was not an instance of INestableKeyBindingService.  It was an instance of " + service.getClass().getName() + " instead."); //$NON-NLS-1$ //$NON-NLS-2$
+            }
+
+            // Give the page's control focus.
+            final Control control = getControl(pageIndex);
+            if (control != null) {
+                control.setFocus();
+            }
+        }
 }
 /**
  * Sets the image for the page with the given index, or <code>null</code>
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 6754391..0000000
--- a/bundles/org.eclipse.ui/.options
+++ /dev/null
@@ -1,54 +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
-
-# 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 7321857..0000000
--- a/bundles/org.eclipse.ui/buildnotes_workbench.html
+++ /dev/null
@@ -1,794 +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="Build" content="Build">
-   <title>Eclipse Platform Release Notes - Workbench</title>
-</head>
-<body>
-
-<h1> Eclipse Platform Build Notes<br>
-  Workbench</h1>
-
-<!-- I20040420 -->
-<p>Integration Build (Tuesday, April 20th, 2004)</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>
-<ul>	
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=2059">2059</a> [Workbench] CVS password saving between session (1GDX7JK)</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=2780">2780</a> [Editor Mgmt] workbench should indicate whe zoom is on (1GJ860L)</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=16861">16861</a> [Perspectives] The separation between persp. and fast views does not seem visible.</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=17242">17242</a> [View Mgmt] Inconsistency dragging fast views</li>
-    <li><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><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><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=25285">25285</a> Fast View on bottom</li>
-    <li><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><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=30435">30435</a> [View Mgmt] Fastview move too sensitive</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=31737">31737</a> [View Mgmt] Clicking on coolbar should dismiss fast view</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=32262">32262</a> [Markers] DCR: Image and description for IMarkerResolution</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=34216">34216</a> [View Mgmt] Option to Remove Fast View Animation</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36641">36641</a> [Views] More flexible docking of fast views</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36946">36946</a> [Plan Item] Add cheat sheets</li>
-    <li><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><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41172">41172</a> [Dialogs] Bug with Image in TitleAreaDialog</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42176">42176</a> [Navigator] Invalid thread access when closing a project</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43821">43821</a> [Decorators] ILightweigthDecorator should be able to decorate multiple quadrants</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=48418">48418</a> Vague progress messages confusing in Problems View</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=48660">48660</a> DeferredTreeContentManager hard to reuse</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=50174">50174</a> Missing localizations for extension point names</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=50963">50963</a> CheckedTreeSelectionDialog: Select All/Deselect all not working</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52129">52129</a> [FastViews] make fast view dismissable by keystroke</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53552">53552</a> Strange status text in Console view</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54020">54020</a> [EditorMgmt] Multiple editor tabs appear active when area split</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54548">54548</a> [About] About dialog should obtain info from IProduct and IBundleGroup instead of platform configuration</li>
-    <li><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><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55593">55593</a> [Activities] SDK activities shipped in Platform plugin</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55607">55607</a> [cheatsheets] cheatsheets should not depend on org.eclipse.ui.intro</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55646">55646</a> [UI forms] ui.forms .project has unwanted project references</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55649">55649</a> [UI intro] ui.intro .project has unwanted project references</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55667">55667</a> [intro] Java development tutorial is "blank;"</li>
-    <li><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><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56196">56196</a> [Progress] Cannot create file when using repository</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56240">56240</a> Emacs key binding does not work in Java editor</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56282">56282</a> [FastView] Cannot drag tab folder onto fastview bar</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56330">56330</a> [Workbench] Perspective bar is clipped</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56437">56437</a> [Font/Colour] Eclipse 3.0 M8 Encoding Problem</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56860">56860</a> [WorkingSets] Not Display Working Set Wizard Banner Image</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57134">57134</a> [Wizards] Cut off textbox in New Project Wizard</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57138">57138</a> [UIForms] the flat look for components in eclipse forms does not work</li>
-    <li><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><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57275">57275</a> [Activities] Configure Activities dialog; folder descriptions</li>
-    <li><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><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57384">57384</a> [RCP] Main window not active on startup, IWindowListeners never receive windowActivated</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57698">57698</a> [Intro] DBCS: nothing happen clicking "Eclipse community" at Intro What's new</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58088">58088</a> [CheatSheets] tooltips</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58203">58203</a> Leak from ProgressManager.runnableMonitors</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58216">58216</a> [Progress] should show busy cursor first when #showInDialog</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58235">58235</a> [Navigator] ClassCastException in saveState (invalid cast to IResource?)</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58292">58292</a> Wizard dialog does not show blocking jobs</li>
-    <li><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><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58309">58309</a> workspace builds are not completing</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58321">58321</a> [EclipseForms] Public API requested for FormUtil.ensureVisible</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58362">58362</a> "Delete" operation in Navigator uses old style progress.</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58533">58533</a> Need to check for setSystem being set after schedule</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58542">58542</a> Dangerous change to setSystem in MarkersViews</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58558">58558</a> [ActivityMgmt] defaultEnabled activities do not have their state persisted properly</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58662">58662</a> System Jobs showing in progress viewers</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58669">58669</a> Should open new user dialog immediately</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58698">58698</a> [About] Help / About / Plug-in Details gets NullPointerException</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58731">58731</a> WorkbenchActivityHelper doesn't work for contributions with null plugin ID</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58758">58758</a> Error dialog uses context menu</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58761">58761</a> [KeyBindings] broken reference to WidgetMethodHandler</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58831">58831</a> [RCP] Eclipse dosn't start due to corrupted workbench.xml</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58942">58942</a> Rewording in blocked jobs dialog</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58981">58981</a> [Progress] ErrorNotificationDialog didn't find the detail information</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59049">59049</a> [Contexts] WorkbenchContextSupport doesn't register new dialog shells as TYPE_DIALOG</li>
-</ul>
-<hr SIZE="0" WIDTH="100%">
-<!-- I20040413 -->
-<p>Integration Build (Tuesday, April 13th, 2004)</p>
-<h2>What's new in this drop</h2>
-<h2>Other highlights</h2>
-<h2>Breaking API Changes</h2>
-<ul>
-	<li>org.eclipse.ui.IThemePreview has been moved into the org.eclipse.ui.themes package.
-</ul>
-<h2>Known deficiencies. </h2>
-<h2>Problem reports fixed</h2>
-<ul xmlns:bz="http://www.bugzilla.org/rdf#">	
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=20150">20150</a> [Key Bindings] "Ctrl+Space" lost to code assist</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=21708">21708</a> [Viewers] Combo should support a Viewer</li>
-    <li><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><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=35766">35766</a> [MenuMgmt] EditorActionBars - ContributionItems not being disposed of properly</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=38412">38412</a> [Actions] Tree &amp; Table cell editors too small</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=39223">39223</a> Open/Close Project locks for several minutes</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40636">40636</a> [Dialogs] org.eclipse.ui.dialogs.FilteredList$Label can throw NullPointerException</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41164">41164</a> [Dialogs] Need to move ResourceSelectionDialog to the new Job API</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44814">44814</a> [RCP] launcher requires only 1.3 VM</li>
-    <li><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 pref page</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=46154">46154</a> Move to new progress API</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47054">47054</a> Help "About" page is empty</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49040">49040</a> IllegalStateException: Job manager has been shut down</li>
-    <li><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><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49700">49700</a> [Dialogs] creating working set leaks an image</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51282">51282</a> [RCP] WorkbenchAdvisor.preShutdown not called</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52159">52159</a> [ActivityMgmt] Activity entry in window menu needs to be defined in object contribution</li>
-    <li><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><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><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53249">53249</a> [Editor Mgmt] NPE in TabbedEditorWorkbook$1.maximize</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54748">54748</a> progress, background operations, and novice users</li>
-    <li><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><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55106">55106</a> [Intro] Finalize API</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55162">55162</a> IPresentablePart needs to be able to opt out of done state</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55735">55735</a> [Progress] Double-clicking on statusline progress icon has no effect</li>
-    <li><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><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55918">55918</a> [Wizards] New wizard description text area is white on linux</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56039">56039</a> [Font/Colours] Hard to find definition of "mapped to" font</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56281">56281</a> [ViewMgmt] View message is now the full title instead of the string between ()'s</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56336">56336</a> [KeyBindings] The Alt + - System Menu</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56446">56446</a> New-&gt;Other... opens "new project" wizard</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56484">56484</a> [Fonts/Colors] Theme API cannot rely on JFaceResources.</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56489">56489</a> [KeyBindings] New key bindings missing from Milestone 8</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56844">56844</a> Write drag-and-drop test suites</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56961">56961</a> [Workbench] EarlyStartupRunnable.getExecutableExtension() references runtime internals</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56977">56977</a> [DynamicUI] testFindPerspectiveWithId failed in nightly builds</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57273">57273</a> [Activities] Configure Activities dialog; Java tree entries</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57384">57384</a> [RCP] Main window not active on startup, IWindowListeners never receive windowActivated</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57437">57437</a> Preferences&gt;Workbench&gt;Colors and Fonts issues</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57456">57456</a> [Activities] New Wizard should show items from enabled actiivties by default</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57532">57532</a> IllegalStateException disposing theme manager</li>
-    <li><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><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57586">57586</a> Markers views title turns bold too often</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57722">57722</a> [Intro] Exception in Intro on startup</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57847">57847</a> [Fonts/Colors] TreeViewer in prefs page does not honour dialog font</li>
-    <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57851">57851</a> [Progress] NPE in WorkbenchSiteProgressService</li>
-    <li><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><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57907">57907</a> [Progress] NPE in workbenchsiteprogressmanager</li>
-</ul>
-<hr SIZE="0" WIDTH="100%">
-<!-- I20040330 -->
-<p>Integration Build (Tuesday, March 30th, 2004)</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>
-<ul>
-<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52957">52957</a> [KeyBindings] Keybinding Service consumes keystrokes for unregistered commands</li>
-<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54709">54709</a> [ContextMgmt] Enhance ContextManagerEvent</li>
-<li><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><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55884">55894</a> [ActivityMgmt] IDEWorkbenchActivityHelper is initialized too early</li>
-<li><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><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><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><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56455">56455</a> [Preferences] Appearance Pref Page "Current Theme" label does not use dialog font</li>
-<li><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><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><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>
-<hr SIZE="0" WIDTH="100%">
-
-<!-- I20040217 -->
-<p>Integration Build (Tuesday, February 17th, 2004)</p>
-<h2>What's new in this drop</h2>
-<ul>
-<li>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.
-</ul>
-<h2>Other highlights</h2>
-<h2>Breaking API Changes</h2>
-<h2>Known deficiencies. </h2>
-<h2>Problem reports fixed</h2>
-<ul>
-<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=50856">50856</a> [Intro] Problems creating workspace on subsequent starts.</li>
-<li><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><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52157">52157</a> [ActivityMgmt] Need a preference to suppress ShowAll</li>
-<li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52248">52248</a> Can't open CVS Repositories view.</li>
-</ul>
-<hr SIZE="0" WIDTH="100%">
-
-<!-- I20040210 -->
-<p>Integration Build (Tuesday, February 10th, 2004)</p>
-<h2>What's new in this drop</h2>
-<p>The workbench now reacts to runtime plugin 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>Known deficiencies. </h2>
-<h2>Problem reports fixed</h2>
-<ul>
-<li><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>
-<hr SIZE="0" WIDTH="100%">
-  
-<!-- I20040127 -->
-<p>Integration Build (Tuesday, January 27, 2004)</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>
-<ul>
-<li><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>
-<hr SIZE="0" WIDTH="100%">
-
-<!-- I20040120 -->
-<p>Integration Build (Tuesday, January 20, 2004)</p>
-<h2>What's new in this drop</h2>
-<p> </p>
-<h2>Other highlights</h2>
-A possible fix for Bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49970">49970</a> ([ViewMgmt] Ant View will not display first in the Java Browsing perspective) has been introduced.
-<h2>Breaking API Changes</h2>
-<h2>Known deficiencies. </h2>
-<h2>Problem reports fixed</h2>
-<hr SIZE="0" WIDTH="100%">
-
-<!-- I20040113 -->
-<p>Integration Build (Tuesday, January 13, 2004)</p>
-<h2>What's new in this drop</h2>
-<p> </p>
-<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=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">44455</a> [ActivityMgmt] No Running man menu+tool even though java role enabled. </p>
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47091">47091</a> [ActivityMgmt] Unable toeasily turn off activities in a category without all activities being enabled.</p>
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47098">47098</a> [ActivityMgmt] Empty Menu bar item (Run) when External tools filtered out</p>
-<hr SIZE="0" WIDTH="100%">
-
-<!-- I20040106 -->
-<p>Integration Build (Tuesday, January 6, 2004)</p>
-<h2>What's new in this drop</h2>
-<p>
-</p>
-<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=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>
-<hr SIZE="0" WIDTH="100%">
-
-<!-- I20031223 -->
-<p>Integration Build (Tuesday, December 23, 2003)</p>
-<h2>What's new in this drop</h2>
-<p>
-</p>
-<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=49274">49274</a> [Activities] Cannot open preference dialog if previous selected node not in fitlered list</p>
-<hr SIZE="0" WIDTH="100%">
-
-
-<!-- I20031216 -->
-<p>Integration Build (Tuesday, December 16, 2003)</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 org.eclipse.jface.resource.JFaceResources.getColorRegistry())  from which instances of defined colors may be obtained and the org.eclipse.ui.colorDefinitions extension point which plugins 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>Known deficiencies. </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> [ActivityMgmt] Need to showAll option for role support</p>
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45825">45825</a> [ActivityMgmt] Perspectives don't respect activity enablement</p>
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=48364">48364</a> PreferenceDialog 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>
-<hr SIZE="0" WIDTH="100%">
-  
-<!-- I20031209 -->
-<p>Integration Build (Tuesday, December 9, 2003)</p>
-<h2>What's new in this drop</h2>
-<h2>Other highlights</h2>
-<h2>Breaking API Changes</h2>
-	Deprecated matching methods on IActivity and IActivityManager have been 
-	removed as well as getActivityManager() and setEnabledActivities() on 
-	IWorkbench.  To accomodate for futher extensions, IWorkbench now inherits 
-	from IAdaptable and a new class IWorkbenchActivitySupport may be obtained 
-	in this way.  IWorkbenchActivitySupport contains getActivityManager() and 
-	setEnabledActivities().
-<h2>Known deficiencies. </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>
-<hr SIZE="0" WIDTH="100%">
-
-<!-- I20031202 -->
-<p>Integration Build (Tuesday, December 2, 2003)</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-ui-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>Known deficiencies. </h2>
-<h2>Problem reports fixed</h2>
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47532">47532</a> SystemSummaryDialog 
-  uses core.runtime internal API</p>
-<hr SIZE="0" WIDTH="100%">
-
-<!-- I20031125 -->
-<p>Integration Build (Tuesday, November 25, 2003)</p>
-<h2>What's new in this drop</h2>
-<p>
-	CyclePartAction (used by the next/previous view/editor/perspective commands)
-	now supports multiple-stroke key bindings.  For example, if you bind "Next
-	Editor" to "Ctrl+L Ctrl+E", then you can press "Ctrl+L Ctrl+E" to open the
-	cycle part dialog and press "Ctrl+E" to continue cycling through the list.
-</p>
-<h2>Other highlights</h2>
-<h2>Breaking API Changes</h2>
-<h2>Known deficiencies. </h2>
-<h2>Problem reports fixed</h2>
-<hr SIZE="0" WIDTH="100%">
-  
-<!-- I20031120 -->
-<p>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 roles API has been made obsolete in favour of categories of activities.
-</p>
-<h2>Known deficiencies. </h2>
-<h2>Problem reports fixed</h2>
-<p>
-	<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=33018">33018</a> plugin.xml context menu should not have "Run Ant..." item<br>
-	<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=46958">46958</a> IllegalStateException: 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> ProgressMonitorJobsDialog used on shutdown
-</p>
-<hr SIZE="0" WIDTH="100%">
-
-<!-- I20031119 -->
-<p>Eclipse Integration Build 20031119</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=46492">46492</a> Explicit 
-  job manager startup/shutdown needed</p>
-<hr SIZE="0" WIDTH="100%">
-
-<!-- I20031118 -->
-<p>Eclipse Integration Build 20031118</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=45943">45943</a> [Fonts] 
-  Java Compare Text Font fails to Map To Other Font</p>
-<hr SIZE="0" WIDTH="100%">
-
-<!-- I20031111 -->  
-<p>Eclipse Integration Build 20031111</p>
-<h2>What's new in this drop</h2>
-<ul>
-<li>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>
-<li>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">the RCP proposal page</a>.</li>
-</ul>
-<h2>Known deficiencies. </h2>
-<ul>
-<li>The support for embedded OLE editors on Windows platforms is currently broken.  This will be fixed for Milestone 5 (Nov 21, 2003).</li>
-<li>The prompt to exit when closing the last window is currently disabled.  This will be fixed for Milestone 5 (Nov 21, 2003).
-</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 "Esc Backspace"<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>
-  
-<hr SIZE="0" WIDTH="100%">
-
-<p>Eclipse Integration Build 20031104</p>
-<h2>What's new in this drop</h2>
-We've removed dependencies on Xerces from all of platform-ui.
-<h2>Other highlights</h2>
-<h2>Breaking API Changes</h2>
-<h2>Known deficiencies</h2>
-There is a known issue with 'Ctrl+W' to close editors.
-<h2>Problem reports fixed</h2>
-<hr SIZE="0" WIDTH="100%">
-<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]
-  org.eclipse.ui.dialogs.FilteredList$Label can throw NullPointerException<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 
-  'pagee' in WorkbenchWindow log message<br>
-  <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44668">44668</a> [Navigator] 
-  "Link with" 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] 
-  StructuredViewer's UpdateItemSafeRunnable holds onto last selected element-memory 
-  leak
-<hr SIZE="0" WIDTH="100%">
-<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>
-<hr SIZE="0" WIDTH="100%">
-<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>
-<hr SIZE="0" WIDTH="100%">
-<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 IProgressWithBlocking in ProgressMonitorDialog</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>
-<hr SIZE="0" WIDTH="100%">
-<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] 
-  ConcurrentModificationException in JobProgressManager</p>
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43415">43415 </a>[Dialogs] 
-  SWTException from ProgressIndicator</p>
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43947">43947</a> [Jobs] 
-  Should use job name when task name is null</p>
-<hr SIZE="0" WIDTH="100%">
-<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 DeferredTreeContentProvider</p>
-<hr SIZE="0" WIDTH="100%">
-<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> [KeyBindinds] 
-  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 JobProgressManager</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] 
-  ImageRegistry throws null pointer exception in application with multiple Display's</p>
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42526">42526</a> Patch: 
-  RenameResourceAction and CopyResourceAction</p>
-<hr SIZE="0" WIDTH="100%">
-<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>
-<hr SIZE="0" WIDTH="100%">
-<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>
-<hr SIZE="0" WIDTH="100%">
-<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 PreferenceDialog generates too many invalid entries</p>
-<hr SIZE="0" WIDTH="100%">
-<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">41644</a> device 
-  is disposed on shutdown</p>
-<hr SIZE="0" WIDTH="100%">
-<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>
-<hr SIZE="0" WIDTH="100%">
-<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">40570</a> [Dialogs] 
-  New Project wizard 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 TitleAreaDialog</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>ClassCastException 
-  in ProgressContentProvider</p>
-<hr SIZE="0" WIDTH="100%">
-<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>
-<hr SIZE="0" WIDTH="100%">
-Eclipse Integration Build 20030805 
-<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">40615</a> [Preferences] 
-  IntegerFieldEditor validation 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 
-  hover 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>
-<hr SIZE="0" WIDTH="100%">
-Eclipse Integration Build 20030729 
-<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> ColorSelector 
-  needs an accessible listener</p>
-<hr SIZE="0" WIDTH="100%">
-Eclipse Integration Build 20030722 
-<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 38092</a> 
-  [Wizards] Javadoc typo in org.eclipse.jface.wizard.Wizard</p>
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40524">Bug 40524</a> 
-  Expansion of package view causes ConcurrentModificationException</p>
-<hr SIZE="0" WIDTH="100%">
-Eclipse Integration Build 20030718 
-<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<br>
-</p>
-<hr SIZE="0" WIDTH="100%">
-Eclipse Integration Build 20030716 
-<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>
-<hr SIZE="0" WIDTH="100%">
-Eclipse Integration Build 20030715 
-<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>
-<code> </code>
-<hr SIZE="0" WIDTH="100%">
-Eclipse Integration Build 20030708 
-<h2>What's new in this drop</h2>
-<ul>
-<li>New API: org.eclipse.jface.viewers.IPostSelectionListener.  See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=39511">bug 39511</a>.
-</ul>
-<h3>Other highlights</h3>
-<h2>Breaking API Changes</h2>
-<h2>Known deficiencies</h2>
-<h2>Problem reports fixed</h2>
-<code>
-Bug 39511 [Viewers] Supporting post selection changed listeners. 
-</code>
-<hr SIZE="0" WIDTH="100%">
-Eclipse Integration Build 20030701 
-<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 
-  UIJob which will run in the UI Thread rather than in some other Thread supplied 
-  by the JobManager. This is a requirement for any code that must interact with 
-  an SWT component.</p>
-<p>UIJob requires a Display to be able to run as it is run using an asynchExec. 
-  This Display must be set before the UIJob is scheduled. If a UIJob is used then 
-  the creator of the UIJob must also set the display to run it in and be sure 
-  that that display exists when the code is executed. An alternative to UIJob 
-  is the WorkbenchUIJob which will get a display from a WorkbenchWindow if one 
-  is not set.WorkbenchUIJob is defined in the org.eclipse.ui.workbench project 
-  and so it can be used by plugins with org.eclipse.ui.workbench 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 <code>org.eclipse.ui.workbench/showProgressIndicator=true</code> 
-  to the file plugin_customization.ini in org.eclipse.platform.</p>
-<h3>Other highlights</h3>
-<h2>Known deficiencies</h2>
-<h2>Problem reports fixed</h2>
-<p>Bug 38782 TreeViewer add calls a refresh </p>
-<p><a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2003-06-24&chfieldto=2003-07-01&product=Platform&component=UI&cmdtype=doit&&order=Bug+Number">Click 
-  here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED between 
-  2003/06/24and 2003/07/01.</p>
-<hr SIZE="0" WIDTH="100%">
-Eclipse Integration Build 20030624 
-<h2>What's new in this drop</h2>
-<h3>Other highlights</h3>
-<h2>Known deficiencies</h2>
-<h2>Problem reports fixed</h2>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2003-06-17&chfieldto=2003-06-24&product=Platform&component=UI&cmdtype=doit&&order=Bug+Number">Click 
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED between 
-2003/06/17 and 2003/06/24. 
-<hr SIZE="0" WIDTH="100%">
-Eclipse Integration Build 20030617 
-<h2>What's new in this drop</h2>
-<h3>Other highlights</h3>
-<h2>Known deficiencies</h2>
-<h2>Problem reports fixed</h2>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2003-06-10&chfieldto=2003-06-17&product=Platform&component=UI&cmdtype=doit&&order=Bug+Number">Click 
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED between 
-2003/06/10 and 2003/06/17. 
-<hr SIZE="0" WIDTH="100%">
-Eclipse Integration Build 20030610 
-<h2>What's new in this drop</h2>
-<h3>Other highlights</h3>
-<h2>Known deficiencies</h2>
-<h2>Problem reports fixed</h2>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2003-06-03&chfieldto=2003-06-10&product=Platform&component=UI&cmdtype=doit&&order=Bug+Number">Click 
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED between 
-2003/06/03 and 2003/06/10. 
-<hr SIZE="0" WIDTH="100%">
-Eclipse Integration Build 20030603 
-<h2>What's new in this drop</h2>
-<h3>Other highlights</h3>
-<h2>Known deficiencies</h2>
-<h2>Problem reports fixed</h2>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2003-05-20&chfieldto=2003-06-03&product=Platform&component=UI&cmdtype=doit&&order=Bug+Number">Click 
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED between 
-2003/05/20 and 2003/06/03. 
-<hr SIZE="0" WIDTH="100%">
-Eclipse Integration Build 20030520 
-<h2>What's new in this drop</h2>
-<h3>Other highlights</h3>
-<h2>Known deficiencies</h2>
-<h2>Problem reports fixed</h2>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2003-05-13&chfieldto=2003-05-20&product=Platform&component=UI&cmdtype=doit&&order=Bug+Number">Click 
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED between 
-2003/05/13 and 2003/05/20. 
-<hr SIZE="0" WIDTH="100%">
-Eclipse Integration Build 200305013 
-<h2>What's new in this drop</h2>
-<h3>Other highlights</h3>
-<h2>Known deficiencies</h2>
-<h2>Problem reports fixed</h2>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&chfield=bug_status&chfieldfrom=2003-05-06&chfieldto=2003-05-13&product=Platform&component=UI&cmdtype=doit&&order=Bug+Number">Click 
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED between 
-2003/05/06 and 2003/05/13. 
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/addbkmrk_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/addbkmrk_tsk.gif
deleted file mode 100644
index bdf3aad..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/addbkmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/addtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/addtsk_tsk.gif
deleted file mode 100644
index 186ea76..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/addtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/alpha_mode.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/alpha_mode.gif
deleted file mode 100644
index 0169b42..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/alpha_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/apply_ps.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/apply_ps.gif
deleted file mode 100644
index 3bb6f6b..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/apply_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/backward_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/backward_nav.gif
deleted file mode 100644
index bc4c99a..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 5c4586c..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 13fb5f9..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/defaults_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/edittsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/edittsk_tsk.gif
deleted file mode 100644
index f5c7659..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/edittsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/filter_ps.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/filter_ps.gif
deleted file mode 100644
index 6a7fbbf..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/filter_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/filter_tsk.gif
deleted file mode 100644
index 6a7fbbf..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/filter_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/forward_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/forward_nav.gif
deleted file mode 100644
index d24b357..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 50c73d8..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/gotoobj_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/graph_mode.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/graph_mode.gif
deleted file mode 100644
index 5f93c92..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/graph_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/home_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/home_nav.gif
deleted file mode 100644
index 79c19ce..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 3ae9dbd..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/list_mode.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/list_mode.gif
deleted file mode 100644
index c5538c5..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/list_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/min_view.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/min_view.gif
deleted file mode 100644
index 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 5ccadcb..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/pin_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/popup_menu.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/popup_menu.gif
deleted file mode 100644
index 564c9cb..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/popup_menu.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/refresh_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/refresh_nav.gif
deleted file mode 100644
index 6f90cfb..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/rembkmrk_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/rembkmrk_tsk.gif
deleted file mode 100644
index e8eb731..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/rembkmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/remtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/remtsk_tsk.gif
deleted file mode 100644
index f85b62b..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/remtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/scroll_lft.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/scroll_lft.gif
deleted file mode 100644
index 912e077..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/scroll_lft.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/scroll_rt.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/scroll_rt.gif
deleted file mode 100644
index f34eb71..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/scroll_rt.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/scrollend.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/scrollend.gif
deleted file mode 100644
index 6de69bf..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/scrollend.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/scrollhome.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/scrollhome.gif
deleted file mode 100644
index 06d95bb..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/scrollhome.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/selected_mode.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/selected_mode.gif
deleted file mode 100644
index 8105c64..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/selected_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showbasic_ps.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showbasic_ps.gif
deleted file mode 100644
index db012e0..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showbasic_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showcategory_ps.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showcategory_ps.gif
deleted file mode 100644
index 570b368..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showcategory_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showchild_mode.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showchild_mode.gif
deleted file mode 100644
index 10477e3..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 29345a6..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 b3c7577..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showerr_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showexpert_ps.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showexpert_ps.gif
deleted file mode 100644
index 976a8ad..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showexpert_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showparents_mode.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showparents_mode.gif
deleted file mode 100644
index 32d4b57..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showparents_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showsync_rn.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showsync_rn.gif
deleted file mode 100644
index 6a83131..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showsync_rn.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showtsk_tsk.gif
deleted file mode 100644
index 88d38fc..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 6df407f..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 d24b357..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 29345a6..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/stop_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/stop_nav.gif
deleted file mode 100644
index 964872a..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/stop_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/synced.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/synced.gif
deleted file mode 100644
index ef34cd7..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 563d137..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 774e5913..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 d7b212d..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/build_exec.gif b/bundles/org.eclipse.ui/icons/full/dtool16/build_exec.gif
deleted file mode 100644
index ee8a671..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/build_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/copy_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/copy_edit.gif
deleted file mode 100644
index 314446c..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 9453a2a..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/cut_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/debug_exec.gif b/bundles/org.eclipse.ui/icons/full/dtool16/debug_exec.gif
deleted file mode 100644
index 0c5e921..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/debug_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/delete_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/delete_edit.gif
deleted file mode 100644
index 4043c48..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 854261e..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/export_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/exportdir_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/exportdir_wiz.gif
deleted file mode 100644
index a0fab4c..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/exportdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/exportzip_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/exportzip_wiz.gif
deleted file mode 100644
index ac6ec99..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/exportzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/import_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/import_wiz.gif
deleted file mode 100644
index 8482d11..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/import_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/importdir_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/importdir_wiz.gif
deleted file mode 100644
index 68aaf5c..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/importdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/importzip_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/importzip_wiz.gif
deleted file mode 100644
index 3ddb745..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/importzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/move_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/move_edit.gif
deleted file mode 100644
index d270ab9..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/move_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/new_page.gif b/bundles/org.eclipse.ui/icons/full/dtool16/new_page.gif
deleted file mode 100644
index d9cfb0a..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/new_page.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/new_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/new_wiz.gif
deleted file mode 100644
index ab6ca14..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/new_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/newfile_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/newfile_wiz.gif
deleted file mode 100644
index d9cfb0a..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/newfile_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/newfolder_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/newfolder_wiz.gif
deleted file mode 100644
index 543c974..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/newfolder_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/newprj_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/newprj_wiz.gif
deleted file mode 100644
index f198986..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/newprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/next_nav.gif b/bundles/org.eclipse.ui/icons/full/dtool16/next_nav.gif
deleted file mode 100644
index 7621d17..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/next_nav.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 ab0021d..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 8637244..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/pin_editor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/prefs_misc.gif b/bundles/org.eclipse.ui/icons/full/dtool16/prefs_misc.gif
deleted file mode 100644
index 9e7418e..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/prefs_misc.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/prev_nav.gif b/bundles/org.eclipse.ui/icons/full/dtool16/prev_nav.gif
deleted file mode 100644
index c3819cc..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/prev_nav.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 9db7d577..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 d729608..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/redo_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/rename_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/rename_edit.gif
deleted file mode 100644
index d2075cc..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/rename_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/run_exec.gif b/bundles/org.eclipse.ui/icons/full/dtool16/run_exec.gif
deleted file mode 100644
index 3c58121..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/run_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/save_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/save_edit.gif
deleted file mode 100644
index 5134b85..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 46946ee..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 98ae1f5..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/saveas_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/search_src.gif b/bundles/org.eclipse.ui/icons/full/dtool16/search_src.gif
deleted file mode 100644
index d262c16..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/search_src.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/undo_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/undo_edit.gif
deleted file mode 100644
index 562dfc6..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/undo_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/addbkmrk_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/addbkmrk_tsk.gif
deleted file mode 100644
index ae0878c..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/addbkmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/addtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/addtsk_tsk.gif
deleted file mode 100644
index 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/alpha_mode.gif b/bundles/org.eclipse.ui/icons/full/elcl16/alpha_mode.gif
deleted file mode 100644
index 907d34f..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/alpha_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/apply_ps.gif b/bundles/org.eclipse.ui/icons/full/elcl16/apply_ps.gif
deleted file mode 100644
index ef6021e..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/apply_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/backward_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/backward_nav.gif
deleted file mode 100644
index 1c9acb2..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 f7c84a4..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 cb28be9..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/defaults_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/edittsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/edittsk_tsk.gif
deleted file mode 100644
index 933fef8..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/edittsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/filter_ps.gif b/bundles/org.eclipse.ui/icons/full/elcl16/filter_ps.gif
deleted file mode 100644
index 00e68bf..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/filter_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/filter_tsk.gif
deleted file mode 100644
index 00e68bf..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/filter_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/forward_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/forward_nav.gif
deleted file mode 100644
index 451ac41..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 a369e80..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/gotoobj_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/graph_mode.gif b/bundles/org.eclipse.ui/icons/full/elcl16/graph_mode.gif
deleted file mode 100644
index 9891e6a..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/graph_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/home_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/home_nav.gif
deleted file mode 100644
index 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/list_mode.gif b/bundles/org.eclipse.ui/icons/full/elcl16/list_mode.gif
deleted file mode 100644
index 0fea525..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/list_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/min_view.gif b/bundles/org.eclipse.ui/icons/full/elcl16/min_view.gif
deleted file mode 100644
index 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/popup_menu.gif b/bundles/org.eclipse.ui/icons/full/elcl16/popup_menu.gif
deleted file mode 100644
index 8215b0b..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/popup_menu.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/refresh_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/refresh_nav.gif
deleted file mode 100644
index d71dfff..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/rembkmrk_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/rembkmrk_tsk.gif
deleted file mode 100644
index 9fbb600..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/rembkmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/remtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/remtsk_tsk.gif
deleted file mode 100644
index 2ba4dc9..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/remtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/scroll_lft.gif b/bundles/org.eclipse.ui/icons/full/elcl16/scroll_lft.gif
deleted file mode 100644
index 912e077..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/scroll_lft.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/scroll_rt.gif b/bundles/org.eclipse.ui/icons/full/elcl16/scroll_rt.gif
deleted file mode 100644
index f34eb71..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/scroll_rt.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/scrollend.gif b/bundles/org.eclipse.ui/icons/full/elcl16/scrollend.gif
deleted file mode 100644
index 6de69bf..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/scrollend.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/scrollhome.gif b/bundles/org.eclipse.ui/icons/full/elcl16/scrollhome.gif
deleted file mode 100644
index 06d95bb..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/scrollhome.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/selected_mode.gif b/bundles/org.eclipse.ui/icons/full/elcl16/selected_mode.gif
deleted file mode 100644
index 8e2b22f..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/selected_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showbasic_ps.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showbasic_ps.gif
deleted file mode 100644
index 27a0f4e..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showbasic_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showcategory_ps.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showcategory_ps.gif
deleted file mode 100644
index 5ef0ed7..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showcategory_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showchild_mode.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showchild_mode.gif
deleted file mode 100644
index 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/showexpert_ps.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showexpert_ps.gif
deleted file mode 100644
index 211c7cf..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showexpert_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showparents_mode.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showparents_mode.gif
deleted file mode 100644
index 039d8df..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showparents_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showsync_rn.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showsync_rn.gif
deleted file mode 100644
index b676d92..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showsync_rn.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showtsk_tsk.gif
deleted file mode 100644
index 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 451ac41..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/stop_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/stop_nav.gif
deleted file mode 100644
index 6b63c5e..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/stop_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/synced.gif b/bundles/org.eclipse.ui/icons/full/elcl16/synced.gif
deleted file mode 100644
index 2ba50f2..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 08e7549..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 d7b212d..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/view_menu.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/build_exec.gif b/bundles/org.eclipse.ui/icons/full/etool16/build_exec.gif
deleted file mode 100644
index 4fcb208..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/build_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/copy_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/copy_edit.gif
deleted file mode 100644
index 109188e..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/debug_exec.gif b/bundles/org.eclipse.ui/icons/full/etool16/debug_exec.gif
deleted file mode 100644
index 78b7058..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/debug_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/delete_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/delete_edit.gif
deleted file mode 100644
index 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 b57b4e9..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/export_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/exportdir_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/exportdir_wiz.gif
deleted file mode 100644
index 79feb95..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/exportdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/exportzip_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/exportzip_wiz.gif
deleted file mode 100644
index 3cf691b..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/exportzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/import_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/import_wiz.gif
deleted file mode 100644
index b23267f..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/import_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/importdir_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/importdir_wiz.gif
deleted file mode 100644
index 8a005f4..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/importdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/importzip_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/importzip_wiz.gif
deleted file mode 100644
index 66f6655..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/importzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/move_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/move_edit.gif
deleted file mode 100644
index 2edee9a..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/move_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/new_page.gif b/bundles/org.eclipse.ui/icons/full/etool16/new_page.gif
deleted file mode 100644
index dd15d9c..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/new_page.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/new_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/new_wiz.gif
deleted file mode 100644
index bbef444..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/new_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/newfile_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/newfile_wiz.gif
deleted file mode 100644
index dd15d9c..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/newfile_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/newfolder_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/newfolder_wiz.gif
deleted file mode 100644
index 1b0575b..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/newfolder_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/newprj_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/newprj_wiz.gif
deleted file mode 100644
index 9ed6da2..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/newprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/next_nav.gif b/bundles/org.eclipse.ui/icons/full/etool16/next_nav.gif
deleted file mode 100644
index ecdf8a5..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/next_nav.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 11fc592..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/pin_editor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/prefs_misc.gif b/bundles/org.eclipse.ui/icons/full/etool16/prefs_misc.gif
deleted file mode 100644
index 0245c29..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/prefs_misc.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/prev_nav.gif b/bundles/org.eclipse.ui/icons/full/etool16/prev_nav.gif
deleted file mode 100644
index d1afe08..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/prev_nav.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 1688fe0..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/redo_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/rename_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/rename_edit.gif
deleted file mode 100644
index cf20952..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/rename_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/run_exec.gif b/bundles/org.eclipse.ui/icons/full/etool16/run_exec.gif
deleted file mode 100644
index e7e081b..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/run_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/save_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/save_edit.gif
deleted file mode 100644
index 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/search_src.gif b/bundles/org.eclipse.ui/icons/full/etool16/search_src.gif
deleted file mode 100644
index b991e07..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/search_src.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/undo_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/undo_edit.gif
deleted file mode 100644
index 725f84d..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 cf096dc..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/editor_view.gif b/bundles/org.eclipse.ui/icons/full/eview16/editor_view.gif
deleted file mode 100644
index eb40160..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/editor_view.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 7b7b0ba..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/new_persp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/opensame_persp.gif b/bundles/org.eclipse.ui/icons/full/eview16/opensame_persp.gif
deleted file mode 100644
index 0fb17e5..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/opensame_persp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/outline_co.gif b/bundles/org.eclipse.ui/icons/full/eview16/outline_co.gif
deleted file mode 100644
index 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/replace_persp.gif b/bundles/org.eclipse.ui/icons/full/eview16/replace_persp.gif
deleted file mode 100644
index 2770765..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/replace_persp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/resource_persp.gif b/bundles/org.eclipse.ui/icons/full/eview16/resource_persp.gif
deleted file mode 100644
index 832e63e..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/resource_persp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/running.gif b/bundles/org.eclipse.ui/icons/full/eview16/running.gif
deleted file mode 100644
index 092ab3f..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/running.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 be18dd2..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 38a0dc7..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 e2e7142..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/cfldr_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/cfldr_obj.gif
deleted file mode 100644
index e6a8118..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/cfldr_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/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/cprj_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/cprj_obj.gif
deleted file mode 100644
index 6052a86..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/cprj_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/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/dots_button.gif b/bundles/org.eclipse.ui/icons/full/obj16/dots_button.gif
deleted file mode 100644
index 5552219..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/dots_button.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/element_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/element_obj.gif
deleted file mode 100644
index 57e9ad3..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/element_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/elements_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/elements_obj.gif
deleted file mode 100644
index 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 ab602f2..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 b5e5e87..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/locked_ind.gif b/bundles/org.eclipse.ui/icons/full/obj16/locked_ind.gif
deleted file mode 100644
index 909c70b..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/locked_ind.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 eb4621b..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/prj_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/prj_obj.gif
deleted file mode 100644
index a4ea580..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/prj_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/probmrk_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/probmrk_tsk.gif
deleted file mode 100644
index 5bfe402..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/probmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/submenu.gif b/bundles/org.eclipse.ui/icons/full/obj16/submenu.gif
deleted file mode 100644
index 9f39d37..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 d3d10f5..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 38a0dc7..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 50e7dd1..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/obj16/warning.gif b/bundles/org.eclipse.ui/icons/full/obj16/warning.gif
deleted file mode 100644
index 2f1c5a8..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/warning.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/welcome_banner.gif b/bundles/org.eclipse.ui/icons/full/obj16/welcome_banner.gif
deleted file mode 100644
index 2ca0a06..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/welcome_banner.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/welcome_editor.gif b/bundles/org.eclipse.ui/icons/full/obj16/welcome_editor.gif
deleted file mode 100644
index 7ccc6a7..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/welcome_editor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/welcome_item.gif b/bundles/org.eclipse.ui/icons/full/obj16/welcome_item.gif
deleted file mode 100644
index a16ac83..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/welcome_item.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/workset.gif b/bundles/org.eclipse.ui/icons/full/obj16/workset.gif
deleted file mode 100644
index 15e6bcc..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/workset.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ovr16/link_ovr.gif b/bundles/org.eclipse.ui/icons/full/ovr16/link_ovr.gif
deleted file mode 100644
index 4f1440e..0000000
--- a/bundles/org.eclipse.ui/icons/full/ovr16/link_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ovr16/linkwarn_ovr.gif b/bundles/org.eclipse.ui/icons/full/ovr16/linkwarn_ovr.gif
deleted file mode 100644
index 27c0cfb..0000000
--- a/bundles/org.eclipse.ui/icons/full/ovr16/linkwarn_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/back.gif b/bundles/org.eclipse.ui/icons/full/progress/back.gif
deleted file mode 100644
index 70ba9f0..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/back.gif
+++ /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 03c5e62..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/progress100.gif b/bundles/org.eclipse.ui/icons/full/progress/progress100.gif
deleted file mode 100644
index e445d9e..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/progress100.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/progress20.gif b/bundles/org.eclipse.ui/icons/full/progress/progress20.gif
deleted file mode 100644
index 9cc394d..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/progress20.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/progress40.gif b/bundles/org.eclipse.ui/icons/full/progress/progress40.gif
deleted file mode 100644
index 6dce3ce..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/progress40.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/progress60.gif b/bundles/org.eclipse.ui/icons/full/progress/progress60.gif
deleted file mode 100644
index 9dbb71a..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/progress60.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/progress80.gif b/bundles/org.eclipse.ui/icons/full/progress/progress80.gif
deleted file mode 100644
index 252c14e..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/progress80.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/progressspin.gif b/bundles/org.eclipse.ui/icons/full/progress/progressspin.gif
deleted file mode 100644
index 44d1276..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/progressspin.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 9dbb71a..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/running.gif b/bundles/org.eclipse.ui/icons/full/progress/running.gif
deleted file mode 100644
index 7a0a556..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/running.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/runstate.gif b/bundles/org.eclipse.ui/icons/full/progress/runstate.gif
deleted file mode 100644
index e7e081b..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/runstate.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 491da0b..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 27f397c..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 db7a499..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 2e50da7..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 6dd2d90..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 aed0364..0000000
--- a/bundles/org.eclipse.ui/plugin.properties
+++ /dev/null
@@ -1,313 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.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
-Win32Fragment.fragmentName = Workbench for Windows
-
-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.capabilities = Capabilities
-ExtPoint.colorDefinitions = Color Definitions
-ExtPoint.commands = Commands
-ExtPoint.contexts = Contexts
-ExtPoint.decorators = Decorators
-ExtPoint.documentProviders = Document providers
-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.markerHelp = Marker Help
-ExtPoint.markerImageProviders = Marker Image Providers
-ExtPoint.markerResolution = Marker Resolution
-ExtPoint.markerUpdaters = Marker updaters
-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.projectNatureImages = Project Nature Images
-ExtPoint.propertyPages = Property Pages
-ExtPoint.startup = Startup
-ExtPoint.viewActions = View Menus and Actions
-ExtPoint.views = Views
-ExtPoint.workingSets = Working set dialogs
-
-Editors.DefaultTextEditor = Text Editor
-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.WorkbenchWorkInProgress = Work In Progress
-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.Fonts = Fonts
-PreferencePages.Decorators = Label Decorations
-PreferencePages.Startup = Startup
-PreferencePages.Roles = Work In Progress
-PropertyPages.project.reference = Project References
-PropertyPages.project.capability = Capabilities
-PropertyPages.info.file = Info
-
-Views.Category.Basic = Basic
-Views.IntroAdapter = Intro
-
-WorkingSets.resource = Resource
-Support=Support
-SystemSummary=System Summary
-NavigateActionSet.label = Resource Navigation
-NavigateActionSet.description = Action set containing resource navigation actions
-GoToResourceAction.label = &Resource...
-DecoratorLinkedResource.label = Linked Resources
-DecoratorLinkedResource.description = Adds an icon decoration to linked resources.
-OpenWorkspaceFileAction.label = Open Reso&urce...
-
-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.project.name=Project
-category.project.description=
-category.window.name=Window
-category.window.description=
-category.help.name=Help
-category.help.description=
-category.textEditor.name=Text Editing
-category.textEditor.description= Text Editing Commands
-
-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.addTask.description = Add a task
-command.addTask.name = Add Task
-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.buildAll.description = Build all projects
-command.buildAll.name = Build All
-command.buildProject.description = Build the selected project
-command.buildProject.name = Build Project
-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.closeProject.description = Close the selected project
-command.closeProject.name = Close Project
-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.goToResource.description = Go to a particular resource in the active view
-command.goToResource.name = Go to Resource
-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.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.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.projectProperties.description = Display the properties of the selected item's project 
-command.projectProperties.name = Properties
-command.quickStart.description = Open a welcome page
-command.quickStart.name = Welcome
-command.rebuildAll.description = Rebuild all projects
-command.rebuildAll.name = Rebuild All
-command.rebuildProject.description = Rebuild the selected projects
-command.rebuildProject.name = Rebuild Project
-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
-command.windowStart.name = Window Start
-
-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
-context.everything.name = Everything
-context.everything.description = Everything as long as the workbench is running
-
-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 f646b3f..0000000
--- a/bundles/org.eclipse.ui/plugin.xml
+++ /dev/null
@@ -1,1312 +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="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.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.WidgetMethodHandler:selectAll">
-      </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.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
-            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.activeTabBGStartDesc
-         </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.activeTabBGEndDesc
-         </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"
-            value="COLOR_WHITE"
-            categoryId="org.eclipse.ui.presentation.default"
-            id="org.eclipse.ui.workbench.INACTIVE_TAB_BG_START">
-         <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.presentationFactories">
-      <factory
-            name="Default"
-            class="org.eclipse.ui.presentations.WorkbenchPresentationFactory"
-            id="org.eclipse.ui.presentations.default">
-      </factory>
-<!-- START EXPERIMENTAL PRESENTATION FACTORY -->
-      <factory
-            name="Native"
-            class="org.eclipse.ui.internal.presentations.NativePresentationFactory"
-            id="org.eclipse.ui.presentations.native">
-      </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 5a0fa3c..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.mxsd"/>
-
-   <include schemaLocation="commonExpression.mxsd"/>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="actionSet" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="actionSet">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="label"/>
-         </appInfo>
-         <documentation>
-            This element is used to define a group of actions and/or menus.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="menu" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="action" minOccurs="0" maxOccurs="unbounded"/>
-         </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 549593f..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="activityActivityBinding"/>
-            <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="activityActivityBinding">
-      <annotation>
-         <documentation>
-            This element allows one to bind activities to activities. The parent-child relationship can be interpreted as &apos;parent requires child&apos;.  If parent is ever enabled then child is enabled as well.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="childActivityId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the child activity to bind
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="parentActivityId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the parent 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;activityActivityBinding parentActivityId=&quot;com.xyz.OtherActivity&quot;
-   childActivityId=&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 83a859f..0000000
--- a/bundles/org.eclipse.ui/schema/commands.exsd
+++ /dev/null
@@ -1,427 +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.
-               </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.
-               </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.
-               </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.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="scope" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the context of this key binding.
-               </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.
-               </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>
-
-   <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.mxsd b/bundles/org.eclipse.ui/schema/commonAction.mxsd
deleted file mode 100644
index ac3ebd0..0000000
--- a/bundles/org.eclipse.ui/schema/commonAction.mxsd
+++ /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.mxsd b/bundles/org.eclipse.ui/schema/commonExpression.mxsd
deleted file mode 100644
index fe71d56..0000000
--- a/bundles/org.eclipse.ui/schema/commonExpression.mxsd
+++ /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 action.
-         </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 action.
-         </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 c6ad72a..0000000
--- a/bundles/org.eclipse.ui/schema/decorators.exsd
+++ /dev/null
@@ -1,292 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="decorators" name="Decorators"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to add decorators to views that subscribe to a decorator manager. As of 2.1 there will be the concept of a lightweight decorator that will handle the image management for the decorator. It is also possible to declare a lightweight decorator that simply overlays an icon when enabled that requires no implementation from the plug-in.
-      </documentation>
-   </annotation>
-
-   <include schemaLocation="commonExpression.mxsd"/>
-
-   <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>
-            </annotation>
-         </attribute>
-         <attribute name="adaptable" type="boolean">
-            <annotation>
-               <documentation>
-                  a flag that indicates if types that adapt to IResource should use this object contribution.
-This flag is used only if objectClass adapts to IResource.  Default value is false.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="state" type="boolean">
-            <annotation>
-               <documentation>
-                  a flag that indicates if the decorator is on by default.  Default value is false.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="quadrant">
-            <annotation>
-               <documentation>
-                  if the decorator is &lt;b&gt;&lt;i&gt;lightweight&lt;/b&gt;&lt;/i&gt; this is the quadrant to apply the decorator to. Defaults to BOTTOM_RIGHT. Replaced by location for M4.
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="TOP_LEFT">
-                  </enumeration>
-                  <enumeration value="TOP_RIGHT">
-                  </enumeration>
-                  <enumeration value="BOTTOM_RIGHT">
-                  </enumeration>
-                  <enumeration value="BOTTOM_LEFT">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-         <attribute name="lightweight">
-            <annotation>
-               <documentation>
-                  The lightweight flag indicates that the decorator is either
-declarative or implements 
-&lt;samp&gt;org.eclipse.jface.viewers.ILightweightLabelDecorator&lt;/samp&gt;.
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="true">
-                  </enumeration>
-                  <enumeration value="false">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  if the decorator is &lt;b&gt;&lt;i&gt;lightweight&lt;/i&gt;&lt;/b&gt; and the &lt;b&gt;&lt;i&gt;class&lt;/i&gt;&lt;/b&gt; is not specified this is the path to the overlay image to apply
-               </documentation>
-               <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, 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/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 bd32c25..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.mxsd"/>
-
-   <include schemaLocation="commonExpression.mxsd"/>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="editorContribution" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="editorContribution">
-      <annotation>
-         <documentation>
-            This element is used to define a group of editor actions and/or menus.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="menu" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="action" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier used to reference this contribution.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="targetID" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier of a registered editor that is the target of this contribution.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="action">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="label" icon="icon"/>
-         </appInfo>
-         <documentation>
-            This element defines an action that the user can invoke in the UI.
-         </documentation>
-      </annotation>
-      <complexType>
-         <choice>
-            <element ref="selection" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>
-         </choice>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier used as a reference for this action.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name used either as the menu item text or toolbar button label. The name can include mnenomic information.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="accelerator" type="string">
-            <annotation>
-               <documentation>
-                  &lt;b&gt;&lt;font color=&quot;#FF0000&quot;&gt;Deprecated:&lt;/font&gt;&lt;/b&gt; Use the &lt;samp&gt;definitionId&lt;/samp&gt; attribute instead.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="definitionId" type="string">
-            <annotation>
-               <documentation>
-                  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 ffde287..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 2c18554..0000000
--- a/bundles/org.eclipse.ui/schema/intro.exsd
+++ /dev/null
@@ -1,188 +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>
-         <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="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name for this introduction that will be shown to the user in the UI
-               </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;
-        name=&quot;Welcome to XYZ&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 c3e6afd..0000000
--- a/bundles/org.eclipse.ui/schema/perspectiveExtensions.exsd
+++ /dev/null
@@ -1,270 +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>
-      </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 e122e07..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 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 64cd281..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.mxsd"/>
-
-   <include schemaLocation="commonExpression.mxsd"/>
-
-   <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.mxsd"/>
-
-   <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 d98eba9..0000000
--- a/bundles/org.eclipse.ui/schema/presentationFactories.exsd
+++ /dev/null
@@ -1,122 +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>

-         </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/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 eec5c21..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.mxsd"/>
-
-   <include schemaLocation="commonExpression.mxsd"/>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="viewContribution" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="viewContribution">
-      <annotation>
-         <documentation>
-            This element is used to define a group of view actions and/or menus.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="menu" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="action" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier used to reference this contribution.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="targetID" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier of a registered view that is the target of this contribution.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="action">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="label" icon="icon"/>
-         </appInfo>
-         <documentation>
-            This element defines an action that the user can invoke in the UI.
-         </documentation>
-      </annotation>
-      <complexType>
-         <choice>
-            <element ref="selection" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>
-         </choice>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier used as a reference for this action.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name used either as the menu item text or toolbar button label. The name can include mnenomic information.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="menubarPath" type="string">
-            <annotation>
-               <documentation>
-                  a slash-delimited path (&apos;/&apos;) used to specify the location of this action in the pulldown menu. Each token in the path, except the last one, must represent a valid identifier of an existing menu in the hierarchy. The last token represents the named group into which this action will be added. If the path is omitted, this action will not appear in the pulldown menu.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="toolbarPath" type="string">
-            <annotation>
-               <documentation>
-                  a named group within the local toolbar of the target view. If the group does not exist, it will be created. If omitted, the action will not appear in the local toolbar.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  a relative path of an icon used to visually represent the action in its context.
-If omitted and the action appears in the toolbar, the Workbench will use a placeholder icon. The path is relative to the location of the plugin.xml file of the contributing plug-in. The icon will appear in the toolbar but not in the pulldown menu.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="disabledIcon" type="string">
-            <annotation>
-               <documentation>
-                  a relative path of an icon used to visually represent the action in its context when the action is disabled. If omitted, the normal icon will simply appear greyed out. The path is relative to the location of the plugin.xml file of the contributing plug-in. The disabled icon will appear in the toolbar but not in the pulldown menu.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="hoverIcon" type="string">
-            <annotation>
-               <documentation>
-                  a relative path of an icon used to visually represent the action in its context when the mouse pointer is over the action. If omitted, the normal icon will be used. The path is relative to the location of the plugin.xml file of the contributing plug-in.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="tooltip" type="string">
-            <annotation>
-               <documentation>
-                  a translatable text representing the action&apos;s tool tip. Only used if the action appears in the toolbar.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="helpContextId" type="string">
-            <annotation>
-               <documentation>
-                  a unique identifier indicating the help context for this action. If the action appears as a menu item, then pressing F1 while the menu item is highlighted will display help.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="style" use="default" value="push">
-            <annotation>
-               <documentation>
-                  an optional attribute to define the user interface style type for the action. If defined, the attribute value will be one of the following:
-    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;push&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a regular menu item or tool item.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;radio&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a radio style menu item or tool item. Actions with the radio style within the same menu or toolbar group behave as a radio set. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;toggle&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a checked style menu item or as a toggle tool item. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="push">
-                  </enumeration>
-                  <enumeration value="radio">
-                  </enumeration>
-                  <enumeration value="toggle">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-         <attribute name="state" type="boolean">
-            <annotation>
-               <documentation>
-                  an optional attribute indicating the initial state (either &lt;samp&gt;true&lt;/samp&gt; or &lt;samp&gt;false&lt;/samp&gt;), used when the &lt;samp&gt;style&lt;/samp&gt; attribute has the value &lt;samp&gt;radio&lt;/samp&gt; or &lt;samp&gt;toggle&lt;/samp&gt;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  name of the fully qualified class that implements &lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IViewActionDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="enablesFor" type="string">
-            <annotation>
-               <documentation>
-                  a value indicating the selection count which must be met to enable the action.
-If this attribute is specified and the condition is met, the action is enabled.
-If the condition is not met, the action is disabled.
-If no attribute is specified, the action is enabled for any number of items selected.
-The following attribute formats are supported: 
-    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;!&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 0 items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;?&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 0 or 1 items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;+&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 1 or more items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;multiple, 2+&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 2 or more items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;n&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- a precise number of items selected.a precise number of items selected.&amp;nbsp;
-          For example: enablesFor=&amp;quot; 4&amp;quot; enables the action only when 4
-          items are selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;*&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- any number of items selected&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a view action extension:
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.viewActions&quot;&gt; 
-      &lt;viewContribution 
-         id=&quot;com.xyz.xyzViewC1&quot; 
-         targetID=&quot;org.eclipse.ui.views.navigator.ResourceNavigator&quot;&gt; 
-         &lt;menu
-            id=&quot;com.xyz.xyzMenu&quot; 
-            label=&quot;XYZ Menu&quot; 
-            path=&quot;additions&quot;&gt; 
-            &lt;separator name=&quot;group1&quot;/&gt; 
-         &lt;/menu&gt; 
-         &lt;action
-            id=&quot;com.xyz.runXYZ&quot; 
-            label=&quot;&amp;amp;Run XYZ Tool&quot; 
-            menubarPath=&quot;com.xyz.xyzMenu/group1&quot; 
-            toolbarPath=&quot;Normal/additions&quot;
-            style=&quot;toggle&quot;
-            state=&quot;true&quot; 
-            icon=&quot;icons/runXYZ.gif&quot; 
-            tooltip=&quot;Run XYZ Tool&quot; 
-            helpContextId=&quot;com.xyz.run_action_context&quot; 
-            class=&quot;com.xyz.actions.RunXYZ&quot;&gt; 
-            &lt;selection class=&quot;org.eclipse.core.resources.IFile&quot; name=&quot;*.java&quot;/&gt; 
-         &lt;/action&gt; 
-     &lt;/viewContribution&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-In the example above, the specified action will only enable for a single selection (&lt;samp&gt;enablesFor&lt;/samp&gt; attribute). In addition, the object in the selection must be a Java file resource.
-&lt;/p&gt;
-&lt;p&gt;
-The following is an other example of a view action extension: 
-&lt;/p&gt;
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.viewActions&quot;&gt; 
-      &lt;viewContribution 
-         id=&quot;com.xyz.xyzViewC1&quot; 
-         targetID=&quot;org.eclipse.ui.views.navigator.ResourceNavigator&quot;&gt; 
-         &lt;menu
-            id=&quot;com.xyz.xyzMenu&quot; 
-            label=&quot;XYZ Menu&quot; 
-            path=&quot;additions&quot;&gt; 
-            &lt;separator name=&quot;group1&quot;/&gt; 
-         &lt;/menu&gt; 
-         &lt;action 
-            id=&quot;com.xyz.runXYZ2&quot; 
-            label=&quot;&amp;amp;Run XYZ2 Tool&quot; 
-            menubarPath=&quot;com.xyz.xyzMenu/group1&quot;
-            style=&quot;push&quot;
-            icon=&quot;icons/runXYZ2.gif&quot; 
-            tooltip=&quot;Run XYZ2 Tool&quot; 
-            helpContextId=&quot;com.xyz.run_action_context2&quot; 
-            class=&quot;com.xyz.actions.RunXYZ2&quot;&gt; 
-            &lt;enablement&gt;
-               &lt;and&gt;
-                  &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-                  &lt;not&gt;
-                     &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-                  &lt;/not&gt;
-               &lt;/and&gt;
-            &lt;/enablement&gt;
-         &lt;/action&gt; 
-      &lt;/editorContribution&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-In the example above, the specified action will appear as a menu item. The action is enabled if the selection contains no Java file resources.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the &lt;samp&gt;class&lt;/samp&gt; attribute must be a fully qualified name of a Java class that implements &lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt;. This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed.
-&lt;p&gt;
-The interface &lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt; extends &lt;samp&gt;org.eclipse.ui.IActionDelegate&lt;/samp&gt; and adds an additional method that allows the 
-delegate to initialize with the view instance it is contributing into.
-&lt;/p&gt;
-&lt;p&gt;
-This extension point can be used to contribute actions into menus previously created by the target view. Omitting the menu path attribute will result in adding the new menu or action at the end of the pulldown menu.
-&lt;/p&gt;
-&lt;p&gt;
-The enablement criteria for an action extension is initially defined by &lt;samp&gt;enablesFor&lt;/samp&gt;, and also either &lt;samp&gt;selection&lt;/samp&gt; or &lt;samp&gt;enablement&lt;/samp&gt;. However, once the action delegate has been instantiated, it may control the action enable state directly within its &lt;samp&gt;selectionChanged&lt;/samp&gt; method.
-&lt;/p&gt;
-&lt;p&gt;
-Action and menu labels may contain special characters that encode mnemonics using the following rules:
-&lt;ol&gt;
-&lt;li&gt;
-Mnemonics are specified using the ampersand (&apos;&amp;amp;&apos;) character in front
-of a selected character in the translated text. Since ampersand is not
-allowed in XML strings, use &lt;samp&gt;&amp;amp;amp;&lt;/samp&gt; character entity.&lt;/li&gt;
-&lt;/ol&gt;
-If two or more actions are contributed to a menu or toolbar by a single extension the actions will appear in the reverse order of how they are listed in the plugin.xml file. This behavior is admittedly unintuitive.  However, it was discovered after the  Eclipse Platform API was frozen.  Changing the behavior now would break every plug-in which relies upon the existing behavior.
-&lt;p&gt;
-The &lt;samp&gt;selection&lt;/samp&gt; and &lt;samp&gt;enablement&lt;/samp&gt; elements are mutually exclusive. The &lt;samp&gt;enablement&lt;/samp&gt; element can replace the &lt;samp&gt;selection&lt;/samp&gt; element using the sub-elements &lt;samp&gt;objectClass&lt;/samp&gt; and &lt;samp&gt;objectState&lt;/samp&gt;. For example, the following:
-&lt;pre&gt;
- &lt;selection
-  class=&quot;org.eclipse.core.resources.IFile&quot;
-  name=&quot;*.java&quot;&gt;
- &lt;/selection&gt;
-&lt;/pre&gt;
-can be expressed using:
-&lt;pre&gt;
- &lt;enablement&gt;
-  &lt;and&gt;
-   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-  &lt;/and&gt;
- &lt;/enablement&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         Each view normally comes with a number of standard items on the pulldown menu and local toolbar. Additions from other plug-ins will be appended to the standard complement.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 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 306d54b..0000000
--- a/bundles/org.eclipse.ui/schema/views.exsd
+++ /dev/null
@@ -1,254 +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 the implements 
-&lt;samp&gt;org.eclipse.ui.IViewPart&lt;/samp&gt;. A common practice 
-is to subclass &lt;samp&gt;org.eclipse.ui.part.ViewPart&lt;/samp&gt; 
-in order to inherit the default functionality.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.part.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 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 opened.  It will initially appear to the right of the editor area but nothing prevents it from being moved or closed by the user.  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.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the id of the view to be made sticky.
-               </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;extension point=&quot;org.eclipse.ui.views&quot;&gt; 
-      &lt;stickyView
-         id=&quot;com.xyz.views.XYZView&quot; /&gt;
-   &lt;/extension&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 96a4097..0000000
--- a/bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPlugin.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.internal;
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.ui.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;
-	}
-	
-	/**
-	 * Create an instance of the UIPlugin.
-	 */
-	public UIPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		inst = this;
-	}
-	/**
-	 * Returns the image registry for this plugin.
-	 *
-	 * Where are the images?  The images (typically gifs) are found in the 
-	 * same plugins directory.
-	 *
-	 * @see JFace's ImageRegistry
-	 *
-	 * Note: The workbench uses the standard JFace ImageRegistry to track its images. In addition 
-	 * the class WorkbenchGraphicResources provides convenience access to the graphics resources 
-	 * and fast field access for some of the commonly used graphical images.
-	 */
-	protected ImageRegistry createImageRegistry() {
-		/* Just to be sure that we don't access this
-		 * plug-ins image registry.
-		 */
-		Assert.isLegal(false);
-		return 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.
-	 *
-	 * @see AbstractPlugin for the typical implementation pattern for plugin classes.
-	 */
-	public static UIPlugin getDefault() {
-		return inst;
-	}
-
-	/** 
-	 * Set default preference values.
-	 * This method must be called whenever the preference store is initially loaded
-	 * because the default values are not stored in the preference store.
-	 */
-	protected void initializeDefaultPreferences(IPreferenceStore store) {
-	    // This should not be called.
-	    // Prefs are initialized in UIPreferenceInitializer.
-	    throw new UnsupportedOperationException();
-	}
-
-    /* (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 78b2e79..0000000
--- a/bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPreferenceInitializer.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.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);
-
-		store.setDefault(IWorkbenchPreferenceConstants.PRESENTATION_FACTORY_ID, "org.eclipse.ui.presentations.default"); //$NON-NLS-1$
-
-		// 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 d7d6032..0000000
--- a/examples/org.eclipse.ui.examples.job/plugin.xml
+++ /dev/null
@@ -1,91 +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.compatibility"/>
-      <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>
-      </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 e685ffb..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/BusyShowWhileDialog.java
+++ /dev/null
@@ -1,82 +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-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);
-		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) {
-			}
-		});
-	}
-}
\ 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 f005aad..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/ProgressExamplesPlugin.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.eclipse.ui.examples.jobs;
-
-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.*;
-import org.eclipse.ui.examples.jobs.views.ProgressExampleAdapterFactory;
-import org.eclipse.ui.examples.jobs.views.SlowElement;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class ProgressExamplesPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static ProgressExamplesPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public ProgressExamplesPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		plugin = this;
-		try {
-			resourceBundle= ResourceBundle.getBundle("ProgressExamples.ProgressExamplesPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static ProgressExamplesPlugin 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= ProgressExamplesPlugin.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#startup()
-	 */
-	public void startup() throws CoreException {
-		IAdapterManager m = Platform.getAdapterManager();
-		IAdapterFactory f = new ProgressExampleAdapterFactory();
-		m.registerAdapters(f, SlowElement.class);
-	}
-}
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 a727333..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/TestJob.java
+++ /dev/null
@@ -1,87 +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;
-	/**
-	 * 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
-	 */
-	public TestJob(long duration, boolean lock, boolean failure, boolean indeterminate) {
-		super("Test job");
-		this.duration = duration;
-		this.failure = failure;
-		this.unknown = indeterminate;
-		if (lock)
-			setRule(ResourcesPlugin.getWorkspace().getRoot());
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.internal.jobs.InternalJob#belongsTo(java.lang.Object)
-	 */
-	public boolean belongsTo(Object family) {
-		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"));
-			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")));
-			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);
-				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/UITestJob.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/UITestJob.java
deleted file mode 100644
index 548ac14..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");
-		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);
-				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 c1b354e..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.Dialog;
-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.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;
-
-	public CreateJobsAction() {
-	}
-	private long askForDuration() {
-		InputDialog dialog = new InputDialog(window.getShell(), "How long?", "Enter the number of milliseconds per job", "1000", new IInputValidator() {
-			public String isValid(String newText) {
-				try {
-					Long.parseLong(newText);
-				} catch (NumberFormatException e) {
-					return "Not a number";
-				}
-				return null;
-			}
-		});
-		if (dialog.open() == Dialog.CANCEL)
-			throw new OperationCanceledException();
-		return Long.parseLong(dialog.getValue());
-	}
-	private boolean askForExclusive() {
-		MessageDialog dialog =
-			new MessageDialog(
-				window.getShell(),
-				"Likes to be left alone?",
-				null,
-				"Press yes if the jobs should be run one at a time, and no otherwise",
-				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?",
-				null,
-				"Should the jobs return an error status?",
-				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() {
-			public String isValid(String newText) {
-				try {
-					Integer.parseInt(newText);
-				} catch (NumberFormatException e) {
-					return "Not a number";
-				}
-				return null;
-			}
-		});
-		if (dialog.open() == Dialog.CANCEL)
-			throw new OperationCanceledException();
-		return Integer.parseInt(dialog.getValue());
-	}
-	public void dispose() {
-	}
-	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).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) {
-	}
-}
\ No newline at end of file
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 9f94a45..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/ForegroundAction.java
+++ /dev/null
@@ -1,29 +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) {
-		} catch (CoreException e) {
-			e.printStackTrace();
-		}
-	}
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-	public void dispose() {
-	}
-	public void init(IWorkbenchWindow window) {
-	}
-}
\ 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 889f68a..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/JobAction.java
+++ /dev/null
@@ -1,51 +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 {
-	private IWorkbenchWindow window;
-	public void run(IAction action) {
-		final IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		Job job = new WorkspaceJob("Background job") {
-			public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
-				monitor.beginTask("Doing something in background", 100);
-				for (int i = 0; i < 100; i++) {
-					try {
-						Thread.sleep(100);
-					} catch (InterruptedException e) {
-					}
-					monitor.worked(1);
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		job.setRule(workspace.getRoot());
-		job.schedule();
-	}
-	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/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 40df486..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/SuspendJobManagerAction.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.ui.examples.jobs.actions;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-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 {
-	private IWorkbenchWindow window;
-
-	/* (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(ResourcesPlugin.getWorkspace().getRoot(), null);
-			else
-				Platform.getJobManager().resume(ResourcesPlugin.getWorkspace().getRoot());
-		} 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) {
-		this.window = window;
-	}
-}
\ 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 af56c0b..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/JobsView.java
+++ /dev/null
@@ -1,440 +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.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-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.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.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;
-
-/**
- * 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, unknownField;
-	private Text quantityField, delayField;
-
-	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();
-
-		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);
-
-			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 = true;
-		body.setLayout(layout);
-
-		//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("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(2);
-
-		//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$
-
-		//lock
-		lockField = new Button(body, SWT.CHECK);
-		lockField.setText("Lock the workspace"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		lockField.setLayoutData(data);
-
-		//system
-		systemField = new Button(body, SWT.CHECK);
-		systemField.setText("System job"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		systemField.setLayoutData(data);
-
-		//thread
-		threadField = new Button(body, SWT.CHECK);
-		threadField.setText("Run in UI thread"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		threadField.setLayoutData(data);
-
-		//failure
-		failureField = new Button(body, SWT.CHECK);
-		failureField.setText("Fail"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		failureField.setLayoutData(data);
-
-		//groups
-		groupField = new Button(body, SWT.CHECK);
-		groupField.setText("Run in Group"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		groupField.setLayoutData(data);
-
-		//IProgressMonitor.UNKNOWN
-		unknownField = new Button(body, SWT.CHECK);
-		unknownField.setText("Indeterminate Progress"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		unknownField.setLayoutData(data);
-
-		//whether the job is a user job
-		userField = new Button(body, SWT.CHECK);
-		userField.setText("User job"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		userField.setLayoutData(data);
-
-		//create jobs
-		Button create = new Button(body, 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(body, 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(body, SWT.PUSH);
-		busyWhile.setText("Progress Service"); //$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(body, SWT.PUSH);
-		noFork.setText("Dialog (fork==false"); //$NON-NLS-1$
-		noFork.setToolTipText("ProgressMonitorDialog.run(fork==false)"); //$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(body, 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(body, 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(body, 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();
-			}
-		});
-
-	}
-
-	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 1000;
-			case 1 :
-				return 10000;
-			case 2 :
-				return 60000;
-			case 3 :
-			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();
-			ProgressMonitorDialog dialog = new ProgressMonitorDialog(getViewSite().getShell());
-			dialog.run(false, true, 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();
-		}
-	}
-
-	/**
-	 * @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 a822e90..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");
-//		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");
-//		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"));
-		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 76f7196..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElement.java
+++ /dev/null
@@ -1,53 +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[] children;
-	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.children = children;	
-		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));
-		}
-		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 8de3d0d..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElementAdapter.java
+++ /dev/null
@@ -1,165 +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 final String FAMILLY = "SlowAdapterRule";
-	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) {
-		}
-	}
-
-	/*
-	 * (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;
-		} else {
-			// 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-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 c5e82d7..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
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/icons/sample.gif b/examples/org.eclipse.ui.examples.rcp.browser/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/icons/sample.gif
+++ /dev/null
Binary files differ
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 e57e7b1..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/plugin.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.examples.rcp.browser"
-   name="Browser Example"
-   version="3.0.0">
-
-   <runtime>
-      <library name="browser.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui"/>
-   </requires>
-
-   <extension
-         id="app"
-         name="Browse Example App"
-         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="Browser Example"
-            class="org.eclipse.ui.examples.rcp.browser.BrowserPerspectiveFactory"
-            id="org.eclipse.ui.examples.rcp.browser.browserPerspective"
-            fixed="true">
-      </perspective>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="Browser"
-            icon="icons/sample.gif"
-            class="org.eclipse.ui.examples.rcp.browser.BrowserView"
-            id="org.eclipse.ui.examples.rcp.browser.browserView">
-      </view>
-   </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 28f3519..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/readme.html
+++ /dev/null
@@ -1,64 +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 January 11, 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 (BrowserView).
-</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:
-<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>Add "-application org.eclipse.ui.examples.rcp.browser.app" to the Program
-  Arguments field of the config.</li>
-<li>On the "Plug-ins and Fragments" tab, configure it to include only the 
-  following plug-ins:
-  <ul>
-  <li>org.eclipse.jface</li>
-  <li>org.eclipse.ui</li>
-  <li>org.eclipse.ui.examples.rcp.browser</li>
-  <li>org.eclipse.ui.workbench</li>
-  <li>org.eclipse.core.runtime</li>
-  <li>org.eclipse.core.runtime.compatibility</li>
-  <li>org.eclipse.help</li>
-  <li>org.eclipse.osgi</li>
-  <li>org.eclipse.osgi.services</li>
-  <li>org.eclipse.osgi.util</li>
-  <li>org.eclipse.platform</li>
-  <li>org.eclipse.swt</li>
-  <li>org.eclipse.swt.&lt;os&gt; (e.g. swt.win32)</li>
-  <li>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 58aa92e..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserActionBuilder.java
+++ /dev/null
@@ -1,144 +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.swt.SWT;
-
-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.jface.dialogs.MessageDialog;
-
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchWindow;
-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 IAction newWindowAction, quitAction, aboutAction;
-	private RetargetAction backAction, forwardAction, stopAction, refreshAction;
-
-	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");
-		
-		quitAction = ActionFactory.QUIT.create(window);
-		
-		backAction = new RetargetAction("back", "&Back");  //$NON-NLS-1$
-		backAction.setToolTipText("Back");
-		backAction.setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_BACK_HOVER));
-		window.getPartService().addPartListener(backAction);
-		
-		forwardAction = new RetargetAction("forward", "&Forward");  //$NON-NLS-1$
-		forwardAction.setToolTipText("Forward");
-		forwardAction.setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_FORWARD_HOVER));
-		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 = new Action() {
-			{ setText("&About"); }
-			public void run() {
-				MessageDialog.openInformation(
-					window.getShell(), 
-					"About RCP Browser Example", 
-					"Eclipse Rich Client Platform Browser Example.\n\n" +
-					"(c) 2003,2004 IBM Corporation and others.");
-			}
-		};
-	}
-
-	public void fillMenuBar(IMenuManager menuBar) {
-		IMenuManager fileMenu = new MenuManager("&File", "file");  //$NON-NLS-2$
-		menuBar.add(fileMenu);
-		fileMenu.add(newWindowAction);
-		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);
-
-		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);
-	}
-}
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 2781e2b..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserAdvisor.java
+++ /dev/null
@@ -1,98 +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.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.application.IActionBarConfigurer;
-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 {
-
-	/**
-	 * Constructs a new <code>BrowserAdvisor</code>.
-	 */
-	public BrowserAdvisor() {
-		// do nothing
-	}
-
-	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) {
-		configurer.setShowFastViewBars(false);
-		configurer.setShowPerspectiveBar(false);
-		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);
-		builder.fillActionBars(configurer, flags);
-	}
-}
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 a39feb0..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserApp.java
+++ /dev/null
@@ -1,63 +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$
-	
-	/**
-	 * 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 a2a5c78..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPerspectiveFactory.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-/**
- * 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
-	}
-
-	/**
-	 * The <code>BrowserPerspectiveFactory</code> implementation of this
-	 * <code>IPerspectiveFactory</code> method creates the initial layout
-	 * of the perspective to have a single Browser view and no editor area.
-	 */
-	public void createInitialLayout(IPageLayout layout) {
-		layout.addView(BrowserApp.PLUGIN_ID + ".browserView", IPageLayout.TOP, 1.0f, IPageLayout.ID_EDITOR_AREA); //$NON-NLS-1$
-		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 495a9a4..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserView.java
+++ /dev/null
@@ -1,194 +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.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.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 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();
-		}
-	};
-
-	private Action goAction = new Action() {
-		{ setText("Go"); }
-		public void run() {
-			browser.setUrl(location.getText());
-		}
-	};
-	
-	/**
-	 * Constructs a new <code>BrowserView</code>.
-	 */
-	public BrowserView() {
-		// do nothing
-	}
-
-	public void createPartControl(Composite parent) {
-		browser = createBrowser(parent, getViewSite().getActionBars());
-		browser.setUrl("http://eclipse.org"); //$NON-NLS-1$
-	}
-
-	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);
-			}
-		});
-		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.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 84cb22a..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.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.ui.forms"/>
-   </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 505a1e5..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPlugin.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.eclipse.ui.forms.examples.internal;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-/**
- * 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(IPluginDescriptor descriptor) {
-		super(descriptor);
-		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 {
-			URL url = Platform.resolve(getDescriptor().getInstallURL());
-			url = new URL(url, "icons/"+fileName);
-			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 shutdown() throws CoreException {
-		if (formColors!=null) {
-			formColors.dispose();
-			formColors=null;
-		}
-		super.shutdown();
-	}
-	public Image getImage(String key) {
-		return getImageRegistry().get(key);
-	}
-}
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 2505adb..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/FormEditorInput.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Created on Jan 23, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-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() {
-		// TODO Auto-generated method stub
-		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 0c39fdb..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/OpenFormEditorAction.java
+++ /dev/null
@@ -1,42 +0,0 @@
-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 0fc7db2..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/FreeFormPage.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Created on Jan 20, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-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 2909aaf..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/IModelListener.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Created on Jan 24, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-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 b98d42e..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/NamedObject.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Created on Jan 24, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-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 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 1963213..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/OpenSimpleFormEditorAction.java
+++ /dev/null
@@ -1,11 +0,0 @@
-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 6be3467..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/PageWithSubPages.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Created on Jan 20, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-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.*;
-/**
- * @author dejan
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-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 635ad14..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesBlock.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Created on Jan 20, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-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.*;
-/**
- * @author dejan
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-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 = 0;
-		layout.marginHeight = 0;
-		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 5061b3e..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesPage.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Created on Jan 20, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-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 4a0ed62..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SecondPage.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Created on Jan 20, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-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 83e58ae..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditor.java
+++ /dev/null
@@ -1,78 +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.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));
-		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 c275a6a..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditorInput.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Created on Jan 23, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-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 7398f64..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleModel.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Created on Jan 24, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-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 7f2c824..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ThirdPage.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Created on Jan 20, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-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 67ef4dd..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOne.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Created on Jan 24, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-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 f0a4588..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOneDetailsPage.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Created on Jan 24, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-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 = 0;
-		layout.bottomMargin = 0;
-		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 106b2d1..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwo.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Created on Jan 24, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-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 0e6e89a..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwoDetailsPage.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Created on Jan 24, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-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 = 0;
-		layout.bottomMargin = 0;
-		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 7326310..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/FormView.java
+++ /dev/null
@@ -1,163 +0,0 @@
-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/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 8347e27..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/AllTests.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.tests.viewers;
-
-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));
-		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/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 d4d16be..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse JFace Tests/org/eclipse/jface/tests/viewers/StructuredViewerTest.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.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.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(new TestLabelProvider());
-		TestElement first= fRootElement.getFirstChild();
-		String newLabel= providedString(first);
-		assertEquals("rendered label", newLabel, getItemText(0));
-	}
-	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/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 b55719e..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.multipageeditor.MultiPageEditorTestSuite;
-import org.eclipse.ui.tests.navigator.NavigatorTestSuite;
-import org.eclipse.ui.tests.popups.PopupsTestSuite;
-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 PopupsTestSuite());
-    }
-}
\ 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 b16adfd..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.ActivityActivityBindingDefinition;
-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();
-		activityActivityBindingDefinitions = new ArrayList();
-		defaultEnabledActivities = new ArrayList();
-		populateCategoryDefinitions();
-		populateActivityDefinitions();
-		populateCategoryActivityBindingDefinitions();
-		populateActivityPatternBindingDefinitions();
-		populateActivityActivityBindingDefinitions();
-		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 populateActivityActivityBindingDefinitions() {
-		activityActivityBindingDefinitions
-				.add(new ActivityActivityBindingDefinition(
-						((ActivityDefinition) activityDefinitions.toArray()[0])
-								.getId(),
-						((ActivityDefinition) activityDefinitions.toArray()[1])
-								.getId(), sourceId)); //$NON-NLS-1$
-		activityActivityBindingDefinitions
-				.add(new ActivityActivityBindingDefinition(
-						((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 addActivityActivityBinding(String childId, String parentId) {
-		activityActivityBindingDefinitions
-				.add(new ActivityActivityBindingDefinition(childId, parentId,
-						sourceId));
-		fireActivityRegistryChanged();
-	}
-	/**
-	 * Reomve an activity activity binding.
-	 * 
-	 * @param parentId
-	 *            The parent id.
-	 * @param childId
-	 *            The child id.
-	 */
-	public void removeActivityActivityBinding(String childId, String parentId) {
-		activityActivityBindingDefinitions
-				.remove(new ActivityActivityBindingDefinition(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 1f4fc8e..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
-								.haveActivityActivityBindingsChanged());
-						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.addActivityActivityBinding("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.removeActivityActivityBinding(
-				"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 6e42ee7..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.ActivityActivityBinding;
-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 activityActivityBindings = first_activity
-				.getActivityActivityBindings();
-		for (int index = 2; index <= 7; index++) {
-			assertTrue(activityActivityBindings
-					.contains(new ActivityActivityBinding(
-							"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 d53a0e9..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/adaptable/AdaptedResourceNavigator.java
+++ /dev/null
@@ -1,533 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this 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())) {
-			setTitle(viewName);
-			setTitleToolTip(""); //$NON-NLS-1$
-		} else {
-			ILabelProvider labelProvider =
-				(ILabelProvider) getViewer().getLabelProvider();
-			setTitle(
-				ResourceNavigatorMessages.format(
-					"ResourceNavigator.title",
-					new Object[] { viewName, 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 4ec915d..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/ApiTestSuite.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.tests.api;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * 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(NullTitleTest.class));
-		addTest(new TestSuite(StickyViewTest.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/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 79e0437..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 MockWorkbenchPart 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, MockWorkbenchPart 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 c2b7e2e..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IPartServiceTest.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.tests.api;
-
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IPartListener2;
-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.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.
-	 * Includes regression test for: 
-	 *   Bug 60039 [ViewMgmt] (regression) IWorkbenchPage#findView returns non-null value after part has been closed
-	 */
-	public void testPartHidden() throws Throwable {
-		// From Javadoc: "Notifies this listener that the given part is hidden."
-		
-	    IPartListener2 listener = new TestPartListener2() {
-            public void partHidden(IWorkbenchPartReference ref) {
-                super.partHidden(ref);
-                // ensure that the view can't be found
-                assertNull(fPage.findView(MockViewPart.ID));
-            }
-	    };
-	    fPage.addPartListener(listener);
-		MockViewPart view = (MockViewPart) fPage.showView(MockViewPart.ID);
-		clearEventState();
-		fPage.hideView(view);
-		assertTrue(history2.contains("partHidden"));
-		assertEquals(getRef(view), eventPartRef);
-	}
-
-	
-}
\ 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 638eb7c..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 MockWorkbenchPart openPart(IWorkbenchPage page) throws Throwable {
-		return (MockWorkbenchPart)page.showView(MockViewPart.ID);
-	}
-
-	/**
-	 * @see IWorkbenchPartTest#closePart(IWorkbenchPage, MockWorkbenchPart)
-	 */
-	protected void closePart(IWorkbenchPage page, MockWorkbenchPart 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 09efd39..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchPageTest.java
+++ /dev/null
@@ -1,1056 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this 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.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.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.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 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), 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);
-	}
-
-	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(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);
-
-		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, true);
-			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), 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(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), 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(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), 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(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), 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(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(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(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, true);
-		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, 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(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, 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 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], true);
-			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], true);
-			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], true);
-			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], 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.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), true);
-			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());
-		}
-	}
-}
\ 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 77d1cf5..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchPartTest.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.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.
-		MockWorkbenchPart part = openPart(fPage);
-		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 MockWorkbenchPart openPart(IWorkbenchPage page) 
-		throws Throwable;
-	
-	/**
-	 * Closes a part.  Subclasses should override
-	 */
-	protected abstract void closePart(IWorkbenchPage page, MockWorkbenchPart 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 1360462..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockEditorPart.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.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-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" );
-	}
-
-	/**
-	 * @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;
-	}
-
-}
-
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 ca7f43f..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockViewPart.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.api;
-
-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" );		
-	}
-
-	/**
-	 * @see IViewPart#init(IViewSite, IMemento)
-	 */
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		setSite(site);
-		callTrace.add("init" );
-	}
-
-	/**
-	 * @see IViewPart#saveState(IMemento)
-	 */
-	public void saveState(IMemento memento) {
-	}
-}
-
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 7f12d32..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/MockWorkbenchPart.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.ui.tests.api;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.core.runtime.IPluginDescriptor;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.viewers.ISelectionProvider;
-
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.tests.util.CallHistory;
-
-public abstract class MockWorkbenchPart implements IWorkbenchPart,
-	IExecutableExtension
-{	
-	protected CallHistory callTrace;
-		
-	private IWorkbenchPartSite site;
-	private String title;
-	private MockSelectionProvider selectionProvider;
-	private IConfigurationElement config;
-	private Object data;
-	private Image titleImage;
-
-    private ListenerList propertyListeners = new ListenerList();
-	
-	public MockWorkbenchPart() {		
-		callTrace = new CallHistory(this);
-		selectionProvider = new MockSelectionProvider();
-	}
-	
-	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;
-		title = config.getAttribute("name");
-
-		// 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;
-	}
-	
-	public void setSite(IWorkbenchPartSite site) {
-		this.site = site;
-		site.setSelectionProvider(selectionProvider);
-	}
-	
-	public IWorkbenchPartSite getSite() {
-		return site;
-	}
-	
-	/**
-	 * @see IWorkbenchPart#addPropertyListener(IPropertyListener)
-	 */
-	public void addPropertyListener(IPropertyListener listener) {
-	    propertyListeners.add(listener);
-	}
-
-	/**
-	 * @see IWorkbenchPart#createPartControl(Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		callTrace.add("createPartControl" );
-		Label label = new Label(parent, SWT.NONE);
-		label.setText(title);
-	}
-
-	/**
-	 * @see IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		callTrace.add("dispose" );
-	}
-
-	/**
-	 * @see IWorkbenchPart#getTitle()
-	 */
-	public String getTitle() {
-		return title;
-	}
-
-	/**
-	 * @see IWorkbenchPart#getTitleImage()
-	 */
-	public Image getTitleImage() {
-		return titleImage;
-	}
-
-	/**
-	 * @see IWorkbenchPart#getTitleToolTip()
-	 */
-	public String getTitleToolTip() {
-		return title;
-	}
-
-	/**
-	 * @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);
-		}
-	}
-}
\ 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/NullTitleTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/NullTitleTest.java
deleted file mode 100644
index c6ab91c..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/NullTitleTest.java
+++ /dev/null
@@ -1,50 +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.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 NullTitleTest extends UITestCase {
-	
-	/**
-	 * @param testName
-	 */
-	public NullTitleTest(String testName) {
-		super(testName);
-	}
-	
-	WorkbenchWindow window;
-	WorkbenchPage page;
-	
-	protected void doSetUp() throws Exception {
-		super.doSetUp();
-		window = (WorkbenchWindow)openTestWindow();
-		page = (WorkbenchPage)window.getActivePage();
-	}
-	
-	/**
-	 * Ensures that we can call ViewPart.setTitle(null) without throwing
-	 * any exceptions
-	 * 
-	 * @throws Throwable
-	 */
-	public void testNullTitle() throws Throwable {
-		page.showView("org.eclipse.ui.tests.NullTitleView");
-	}
-	
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/NullTitleView.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/NullTitleView.java
deleted file mode 100644
index 147521d..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/NullTitleView.java
+++ /dev/null
@@ -1,43 +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.swt.widgets.Composite;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * @since 3.0
- */
-public class NullTitleView extends ViewPart {
-	/* (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.IViewPart#init(org.eclipse.ui.IViewSite)
-	 */
-	public void init(IViewSite site) throws PartInitException {
-		super.init(site);
-		
-		setTitle(null);
-	}
-}
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 53cf4b2..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/StickyViewTest.java
+++ /dev/null
@@ -1,126 +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 {
-
-    /**
-     * @param testName
-     */
-    public StickyViewTest(String testName) {
-        super(testName);
-    }
-
-    /**
-     * Tests to ensure that sticky views are opened in the same stack.
-     */
-    public void testStackPlacement() {
-        IWorkbenchWindow window = openTestWindow();
-        IWorkbenchPage page = window.getActivePage();
-        
-        try {
-            IViewPart part1 = page.showView("org.eclipse.ui.tests.api.StickyView1");
-            assertNotNull(part1);
-            IViewPart part2 = page.showView("org.eclipse.ui.tests.api.StickyView2");
-            assertNotNull(part2);
-            IViewPart [] stack = page.getViewStack(part1);
-
-            assertTrue(findInStack(stack, part1));
-            assertTrue(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() {
-        IWorkbenchWindow window = openTestWindow();
-        IWorkbenchPage page = window.getActivePage();
-        
-        try {
-            IViewPart part1 = page.showView("org.eclipse.ui.tests.api.StickyView1");
-            assertNotNull(part1);
-
-            IViewPart [] stack = page.getViewStack(part1);
-            
-            for (int i = 0; i < stack.length; i++) {
-                assertTrue(stack[i].getTitle(), isSticky(stack[i]));
-            }            
-        } catch (PartInitException e) {
-            fail(e.getMessage());
-        }        
-    }
-
-    private 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;        
-    }
-
-    /**
-     * Sticky views should remain after perspective reset.
-     */
-    public void testPerspectiveReset() {
-        IWorkbenchWindow window = openTestWindow();   
-        IWorkbenchPage page = window.getActivePage();
-        try {
-            page.showView("org.eclipse.ui.tests.api.StickyView1");
-            page.resetPerspective();
-            assertNotNull(page.findView("org.eclipse.ui.tests.api.StickyView1"));
-        } catch (PartInitException e) {
-            fail(e.getMessage());
-        }        
-    }
-    
-    /**
-     * Tests that a sticky view is opened in successive perspectives.
-     */
-    public void testPerspectiveOpen() {
-        IWorkbenchWindow window = openTestWindow();
-        IWorkbenchPage page = window.getActivePage();
-        
-        try {
-            page.showView("org.eclipse.ui.tests.api.StickyView1");
-            page.setPerspective(WorkbenchPlugin.getDefault().getPerspectiveRegistry().findPerspectiveWithId("org.eclipse.ui.tests.api.SessionPerspective"));            
-            assertNotNull(page.findView("org.eclipse.ui.tests.api.StickyView1"));
-        } catch (PartInitException e) {
-            fail(e.getMessage());
-        }
-    }
-    
-    private boolean findInStack(IViewPart[] stack, IViewPart target) {
-
-        for (int i = 0; i < stack.length; i++) {
-            if (stack[i] == target)
-                return true;                
-        }
-        return false;        
-    }
-}
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/commands/CommandsTestCase1.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/commands/CommandsTestCase1.java
deleted file mode 100644
index 77fcda8..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/commands/CommandsTestCase1.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.eclipse.ui.tests.commands;
-
-import junit.framework.TestCase;
-
-public class CommandsTestCase1 extends TestCase {
-
-    public void test1() {
-    }
-
-    public void test2() {
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/commands/CommandsTestCase2.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/commands/CommandsTestCase2.java
deleted file mode 100644
index 865ac95..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/commands/CommandsTestCase2.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.eclipse.ui.tests.commands;
-
-import junit.framework.TestCase;
-
-public class CommandsTestCase2 extends TestCase {
-
-    public void test1() {
-    }
-
-    public void test2() {
-    }
-}
\ No newline at end of file
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 046352e..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/commands/CommandsTestSuite.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.ui.tests.commands;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class CommandsTestSuite extends TestSuite {
-
-    public static Test suite() {
-        return new CommandsTestSuite();
-    }
-
-    public CommandsTestSuite() {
-        addTestSuite(CommandsTestCase1.class);
-        addTestSuite(CommandsTestCase2.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/ContextsTestCase1.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/contexts/ContextsTestCase1.java
deleted file mode 100644
index 879e480..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/contexts/ContextsTestCase1.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.eclipse.ui.tests.contexts;
-
-import junit.framework.TestCase;
-
-public class ContextsTestCase1 extends TestCase {
-
-    public void test1() {
-    }
-
-    public void test2() {
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/contexts/ContextsTestCase2.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/contexts/ContextsTestCase2.java
deleted file mode 100644
index 59ee8e1..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/contexts/ContextsTestCase2.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.eclipse.ui.tests.contexts;
-
-import junit.framework.TestCase;
-
-public class ContextsTestCase2 extends TestCase {
-
-    public void test1() {
-    }
-
-    public void test2() {
-    }
-}
\ No newline at end of file
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 5ccaf28..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/contexts/ContextsTestSuite.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.ui.tests.contexts;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class ContextsTestSuite extends TestSuite {
-
-    public static Test suite() {
-        return new ContextsTestSuite();
-    }
-
-    public ContextsTestSuite() {
-        addTestSuite(ContextsTestCase1.class);
-        addTestSuite(ContextsTestCase2.class);
-    }
-}
\ 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 9363adc..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.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.AboutDialog;
-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 c5f8c0b..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.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.AboutDialog;
-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 b8aea05..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragOperations.java
+++ /dev/null
@@ -1,137 +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.EditorWorkbook;
-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();
-		EditorWorkbook parent = ((EditorWorkbook)(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 Point getLocation(PartPane pane, int side) {
-		LayoutPart parent = ((LayoutPart)(pane.getContainer()));
-		Rectangle bounds = DragUtil.getDisplayBounds(parent.getControl());
-		
-		return DragOperations.getPoint(bounds, 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();
-	}
-	
-	public static String getLayoutDescription(WorkbenchPage page) {
-		StringBuffer buf = new StringBuffer();
-		
-		page.getActivePerspective().getPresentation().getLayout().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 a13493a..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragTest.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.ui.tests.dnd;
-
-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.IPerspectiveRegistry;
-import org.eclipse.ui.PlatformUI;
-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 (((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))|(Navigator))-(Outline, Problems, Properties))' and found 'layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))
- * </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. For example, (Problems, Console, Properties) indicates
- * a stack containing the Problems, Console, and Properties views. 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)|(Mock Editor 2))))-(Outline, Problems, Properties))
- * </p>
- * <p>
- * Where editor 0 is "Mock Editor 1", and editors 1 and 2 are shown as "Mock Editor 2".
- * </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;
-
-	// 
-	IProject project;
-	IFile file1, file2;
-	IEditorPart editor1, editor2;
-	IFile file3;
-	IEditorPart editor3;
-	WorkbenchWindow window;
-	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);
-				
-				fail(errorMessage);
-			}
-		} else {
-			fail("data/dragtests.xml is missing data for test" + getName());
-		}
-	}
-	
-	public void doSetUp() throws Exception {
-		//window = (WorkbenchWindow)openTestWindow();
-		
-		window = (WorkbenchWindow)
-			fWorkbench.openWorkbenchWindow(
-				"org.eclipse.ui.tests.dnd.dragdrop",
-				ResourcesPlugin.getWorkspace());
-
-		page = (WorkbenchPage)window.getActivePage();
-		IPerspectiveRegistry reg = PlatformUI.getWorkbench().getPerspectiveRegistry();
-				
-		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$
-		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();
-		String result = internalTest();
-		tearDown();
-		return result;
-	}
-}
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 5661d5a..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/DragTestSuite.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.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)
-		};
-		
-		// 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/FastViewBarDropTarget.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/FastViewBarDropTarget.java
deleted file mode 100644
index 96bcbaf..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dnd/FastViewBarDropTarget.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 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 {
-	
-	WorkbenchWindow window;
-
-	/**
-	 * @param window
-	 */
-	public FastViewBarDropTarget(WorkbenchWindow window) {
-		super();
-		this.window = window;
-	}
-	
-	/* (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() {
-		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 a5f76de..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.PartTabFolder;
-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);
-		PartTabFolder parent = ((PartTabFolder)(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/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 b09d1b6..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/DynamicUtils.java
+++ /dev/null
@@ -1,27 +0,0 @@
-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;
-
-public class DynamicUtils {
-	
-	public static final boolean installPlugin(String pluginName) {
-		// Programmatically install a new plugin
-		TestPlugin plugin = TestPlugin.getDefault();
-		if (plugin == null)
-			return false;
-		String pluginLocation = null;
-		try {
-			URL dataURL = Platform.resolve(plugin.getBundle().getEntry(pluginName));
-			pluginLocation = "reference:" + dataURL.toExternalForm();
-		} catch (IOException e1) {
-			e1.printStackTrace();
-		}
-		TestInstallUtil install = new TestInstallUtil(pluginLocation);
-		install.installBundle();
-		return true;
-	}
-
-}
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 f266c98..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/PerspectiveTests.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.dynamicplugins;
-
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.PlatformUI;
-import junit.framework.TestCase;
-
-/**
- * Tests to check the addition of a new perspective once the perspective
- * registry is loaded.
- */
-
-public class PerspectiveTests extends TestCase /* implements IRegistryChangeListener */ {
-	private IPerspectiveRegistry fReg;
-//	private static boolean perspectiveRegistryUpdated = false;
-	
-	public PerspectiveTests(String testName) {
-		super(testName);
-//		Platform.getExtensionRegistry().addRegistryChangeListener(this);
-	}
-
-//	/* (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.getExtensionDeltas(WorkbenchPlugin.PI_WORKBENCH, IWorkbenchConstants.PL_PERSPECTIVES);
-//		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.
-		synchronized(this) {
-//			perspectiveRegistryUpdated = false;
-			assertTrue(DynamicUtils.installPlugin("data/org.eclipse.newPerspective1"));
-			try {
-				wait(1000l);
-			} catch (InterruptedException e) {
-				e.printStackTrace();
-			}
-//			int i = 0;
-//			while (!perspectiveRegistryUpdated && i < 1000) {
-//				i++;
-//			}
-			fReg = PlatformUI.getWorkbench().getPerspectiveRegistry();
-		}
-		IPerspectiveDescriptor found = fReg.findPerspectiveWithId("org.eclipse.newPerspective1.newPerspective1");
-		assertNotNull(found);
-	}
-}
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 0a80948..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/TestInstallUtil.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.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;
-	String location;	
-	
-	public TestInstallUtil(String bundleLocation) {
-		location = bundleLocation;
-	}
-	
-	public static void setContext(BundleContext newContext) {
-		context = newContext;
-	}
-	
-	public void installBundle() {
-		Bundle target;
-		try {
-			target = context.installBundle(location);
-			refreshPackages(new Bundle[] {target});			
-		} catch (BundleException e) {
-			e.printStackTrace();
-		}
-	}
-	
-	public void refreshPackages(Bundle[] bundles) {
-		if (bundles.length == 0)
-			return;
-		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);
-	}
-}
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 2fc4e51..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/dynamicplugins/ViewTests.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.dynamicplugins;
-
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.registry.IViewDescriptor;
-import org.eclipse.ui.internal.registry.IViewRegistry;
-import junit.framework.TestCase;
-
-/**
- * Tests to ensure the addition of new views with dynamic plug-ins.
- */
-
-public class ViewTests extends TestCase {
-	private IViewRegistry fReg;
-		
-	public ViewTests(String testName) {
-		super(testName);
-	}
-
-	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.
-		synchronized(this) {
-			assertTrue(DynamicUtils.installPlugin("data/org.eclipse.newView1"));
-			try {
-				wait(1000l);
-			} catch (InterruptedException e) {
-				e.printStackTrace();
-			}
-			fReg = WorkbenchPlugin.getDefault().getViewRegistry();
-		}
-		IViewDescriptor found = fReg.find("org.eclipse.newView1.newView1");
-		assertNotNull(found);
-	}
-}
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 0312ef6..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/IntroPartTest.java
+++ /dev/null
@@ -1,84 +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.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.MockWorkbenchPart;
-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 MockWorkbenchPart 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, MockWorkbenchPart part)
-            throws Throwable {
-		page.getWorkbenchWindow().getWorkbench().getIntroManager().closeIntro((IIntroPart) part);            
-    }
-    
-	public void testOpenAndClose() throws Throwable {
-		// Open a part.
-		MockWorkbenchPart 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"}));
-	}
-    
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.tests.util.UITestCase#doSetUp()
-     */
-    protected void doSetUp() throws Exception {
-        super.doSetUp();
-        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/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 2e9df37..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/MockIntroPart.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 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.MockWorkbenchPart;
-
-
-/**
- * @since 3.0
- */
-public class MockIntroPart extends MockWorkbenchPart implements IIntroPart {
-
-    /**
-     * 
-     */
-    public MockIntroPart() {
-        super();
-    }
-
-	
-	public IIntroSite getIntroSite() {
-		return (IIntroSite)getSite();
-	}
-
-	public void init(IIntroSite site, IMemento memento) throws PartInitException {
-		setSite(site);
-		callTrace.add("init" );
-	}
-
-	/**
-	 * @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 ef1137d..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/intro/NoIntroPartTest.java
+++ /dev/null
@@ -1,77 +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.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 MockWorkbenchPart 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, MockWorkbenchPart part)
-            throws Throwable {
-		page.getWorkbenchWindow().getWorkbench().getIntroManager().closeIntro((IIntroPart) part);            
-    }
-    
-    
-    //only test open..shouldn't work.
-	public void testOpenAndClose() throws Throwable {
-		// Open a part.
-		MockWorkbenchPart 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/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 f911be1..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);
-        setTitle("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 bccbc1d..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/ExceptionDecoratorTestCase.java
+++ /dev/null
@@ -1,87 +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();
-		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 065794e..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/HeavyNullImageDecorator.java
+++ /dev/null
@@ -1,57 +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 {
-	/**
-	 *
-	 */
-	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)  {
-		throw new NullPointerException("Heavy image boom");
-	}
-
-	/**
-	 * @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 0b0acde..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/HeavyNullTextDecorator.java
+++ /dev/null
@@ -1,57 +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 {
-	/**
-	 *
-	 */
-	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)  {
-		throw new NullPointerException("Heavy text boom");
-	}
-}
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 10621b5..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/navigator/NullImageDecorator.java
+++ /dev/null
@@ -1,52 +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 {
-	/**
-	 *
-	 */
-	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) {
-		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/popups/ObjectContributionTest.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/popups/ObjectContributionTest.java
deleted file mode 100644
index 4363cb0..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/popups/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.popups;
-
-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.ObjectContributionTest.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/popups/PopupsTestSuite.java b/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/popups/PopupsTestSuite.java
deleted file mode 100644
index 9cdbb15..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/popups/PopupsTestSuite.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.popups;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Tests for all code related to pop-up menus. This includes the
- * <code>popupMenus</code> extension point, as well as the code needed to
- * support it.
- */
-public class PopupsTestSuite extends TestSuite {
-
-    /**
-     * Returns the suite. This is required to use the JUnit Launcher.
-     */
-    public static Test suite() {
-        return new PopupsTestSuite();
-    }
-
-    /**
-     * Construct the test suite.
-     */
-    public PopupsTestSuite() {
-        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/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 581629a..0000000
--- a/tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/themes/ThemeAPITest.java
+++ /dev/null
@@ -1,416 +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() {
-        IPreferenceStore store = fWorkbench.getPreferenceStore();
-        ITheme defaultTheme = getDefaultTheme();
-        ITheme theme1 = getTheme1();
-
-        testOverrideColorPreference(defaultTheme, store, "swtcolor");
-        testOverrideColorPreference(theme1, store, "swtcolor");
-        testOverrideColorPreference(defaultTheme, store, "rgbcolor");
-        testOverrideColorPreference(theme1, store, "rgbcolor");
-        testOverrideColorPreference(defaultTheme, store, "defaultedcolor");
-        testOverrideColorPreference(theme1, store, "defaultedcolor");
-        testNoOverrideColorPreference(defaultTheme, store, "nooverridecolor");
-        testNoOverrideColorPreference(theme1, store, "nooverridecolor");
-    }
-
-    public void testDataKeySet() {
-        ITheme defaultTheme = getDefaultTheme();
-        Set themeKeys = defaultTheme.keySet();
-        assertTrue(themeKeys.contains("data1"));
-        assertTrue(themeKeys.contains("data2"));
-        assertTrue(themeKeys.contains("int1"));
-        assertTrue(themeKeys.contains("bool1"));
-        assertFalse(themeKeys.contains("BOGUSKEY"));
-    }
-
-    public void testDataOverride() {
-        ITheme theme1 = getTheme1();
-        assertEquals("override1", theme1.getString("data1"));
-        assertEquals("value2", theme1.getString("data2"));
-    }
-
-    public void testDefaultedColor() {
-        ITheme defaultTheme = getDefaultTheme();
-        assertEquals(defaultTheme.getColorRegistry().getRGB("rgbcolor"),
-                defaultTheme.getColorRegistry().getRGB("defaultedcolor"));
-        assertEquals(defaultTheme.getColorRegistry().getRGB("defaultedcolor"),
-                defaultTheme.getColorRegistry().getRGB("defaultedcolor2"));
-        assertEquals(defaultTheme.getColorRegistry().getRGB("defaultedcolor2"),
-                defaultTheme.getColorRegistry().getRGB("defaultedcolor3"));
-    }
-
-    public void testDefaultedFont() {
-        ITheme defaultTheme = getDefaultTheme();
-        assertArrayEquals(
-                defaultTheme.getFontRegistry().getFontData("valfont"),
-                defaultTheme.getFontRegistry().getFontData("defaultedfont"));
-        assertArrayEquals(defaultTheme.getFontRegistry().getFontData(
-                "defaultedfont"), defaultTheme.getFontRegistry().getFontData(
-                "defaultedfont2"));
-        assertArrayEquals(defaultTheme.getFontRegistry().getFontData(
-                "defaultedfont2"), defaultTheme.getFontRegistry().getFontData(
-                "defaultedfont3"));
-
-    }
-
-    public void testDefaultedFontOverride() {
-        ITheme theme1 = getTheme1();
-        assertArrayEquals(theme1.getFontRegistry().getFontData("valfont"),
-                theme1.getFontRegistry().getFontData("defaultedfont"));
-        assertArrayEquals(new FontData[] { new FontData("Courier", 16,
-                SWT.NORMAL)}, theme1.getFontRegistry().getFontData(
-                "defaultedfont2"));
-        assertArrayEquals(theme1.getFontRegistry()
-                .getFontData("defaultedfont2"), theme1.getFontRegistry()
-                .getFontData("defaultedfont3"));
-    }
-
-    public void testDefaultedOverrideColor() {
-        ITheme theme1 = getTheme1();
-        assertEquals(theme1.getColorRegistry().getRGB("rgbcolor"), theme1
-                .getColorRegistry().getRGB("defaultedcolor"));
-        assertEquals(new RGB(9, 9, 9), theme1.getColorRegistry().getRGB(
-                "defaultedcolor2"));
-        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() {
-        IPreferenceStore store = fWorkbench.getPreferenceStore();
-        ITheme defaultTheme = getDefaultTheme();
-        ITheme theme1 = getTheme1();
-
-        testOverrideFontPreference(defaultTheme, store, "novalfont");
-        testOverrideFontPreference(theme1, store, "novalfont");
-        testOverrideFontPreference(defaultTheme, store, "valfont");
-        testOverrideFontPreference(theme1, store, "valfont");
-        testOverrideFontPreference(defaultTheme, store, "defaultedfont");
-        testOverrideFontPreference(theme1, store, "defaultedfont");
-        testNoOverrideFontPreference(defaultTheme, store, "nooverridefont");
-        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 testThemeDescriptions() {
-        {
-            ITheme defaultTheme = getDefaultTheme();
-            assertEquals(IThemeManager.DEFAULT_THEME, defaultTheme.getId());
-            // don't bother testing against the actual value
-            assertNotNull(defaultTheme.getLabel());
-        }
-        {
-            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 95b3922..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.EditorArea;
-import org.eclipse.ui.internal.EditorPane;
-import org.eclipse.ui.internal.EditorSite;
-import org.eclipse.ui.internal.EditorWorkbook;
-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();
-		EditorArea area = pane.getWorkbook().getEditorArea();
-		EditorWorkbook workbook = EditorWorkbook.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 f2920a4..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 a new 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 an existing project</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/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 ceb5561..0000000
--- a/tests/org.eclipse.ui.tests/Manual Scenario Tests/Tasks 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/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 f5c5d1b..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>
-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 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 17552ca..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 a new 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 an existing project</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 5c151d8..0000000
--- a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/EmptyPerspective.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.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.
-	 */
-	public static final String PERSP_ID = "org.eclipse.ui.tests.util.EmptyPerspective";
-	
-	/**
-	 * 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) {
-		//layout.addView( MockViewPart.ID, IPageLayout.BOTTOM, 0.5f, layout.getEditorArea() );
-	}
-}
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/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 17ec60e..0000000
--- a/tests/org.eclipse.ui.tests/UI Test Utils/org/eclipse/ui/tests/util/UITestCase.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.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 
-{
-	protected IWorkbench fWorkbench;
-	private List testWindows;
-	private IWindowListener 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 IWindowListener() {
-			public void windowActivated(IWorkbenchWindow window) {
-				// do nothing
-			}
-			public void windowDeactivated(IWorkbenchWindow window) {
-				// do nothing
-			}
-
-			public void windowClosed(IWorkbenchWindow window) {
-				testWindows.remove(window);
-			}
-
-			public void windowOpened(IWorkbenchWindow window) {
-				testWindows.add(window);
-			}
-		};
-		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() {
-		try {
-			return 
-				fWorkbench.openWorkbenchWindow(
-					EmptyPerspective.PERSP_ID,
-					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();
-	}
-	
-}
\ 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/dragtests.xml b/tests/org.eclipse.ui.tests/data/dragtests.xml
deleted file mode 100644
index 071bb17..0000000
--- a/tests/org.eclipse.ui.tests/data/dragtests.xml
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dragtests>
-<test name="drag maximized Navigator to bottom of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Problems folder to right of Problems" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Problems to left of editor area" result="layout (((Navigator)|((Problems)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))))-(Outline, Properties))"/>
-<test name="drag editor 0 to top of window" result="layout (((Navigator)|(layout ((Mock Editor 1)-((Mock Editor 2)|(Mock Editor 2)))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Problems folder to top of window" result="layout ((Outline, Problems, Properties)-((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))))"/>
-<test name="drag Problems to top of editor area" result="layout (((Navigator)|((Problems)-(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))))-(Outline, Properties))"/>
-<test name="drag editor 0 to top of editor 2" result="layout (((Navigator)|(layout ((Mock Editor 2)|((Mock Editor 1)-(Mock Editor 2)))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator to top of window" result="layout ((Navigator)-((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Outline, Problems, Properties)))"/>
-<test name="drag editor 0 folder to bottom of editor 2" result="layout (((Navigator)|(layout ((Mock Editor 2)-(Mock Editor 1, Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator to right of Problems" result="layout ((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-((Outline, Problems, Properties)|(Navigator)))"/>
-<test name="drag Navigator folder to top of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(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))-(Mock Editor 1))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator folder to bottom of window" result="layout (((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Outline, Problems, Properties))-(Navigator))"/>
-<test name="drag maximized Problems to top of editor area" result="layout (((Navigator)|((Problems)-(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))))-(Outline, Properties))"/>
-<test name="drag editor 2 folder to left of editor 2" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator folder to right of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator folder to top of window" result="layout ((Navigator)-((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Outline, Problems, Properties)))"/>
-<test name="drag maximized Navigator to left of window" result="layout ((Navigator)|((layout ((Mock Editor 1, Mock Editor 2)|(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)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to left of editor area" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator to center of Problems" result="layout ((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Outline, Problems, Properties, Navigator))"/>
-<test name="drag maximized Navigator folder to center of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(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)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Problems to center of Problems" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 0 folder to left of window" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator to top of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 2 folder to left of editor 0" result="layout (((Navigator)|(layout ((Mock Editor 2)|(Mock Editor 1, Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to right of window" result="layout (((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Outline, Problems, Properties))|(Navigator))"/>
-<test name="drag editor 0 to center of Navigator" result="layout (((Navigator)|(layout ((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 ((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)|(Mock Editor 2, Mock Editor 1))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 0 to right of window" result="layout (((Navigator)|(layout (((Mock Editor 2)|(Mock Editor 2))|(Mock Editor 1))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator folder to left of editor area" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Problems folder to center of Navigator" result="layout ((Navigator, Outline, Problems, Properties)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))"/>
-<test name="drag editor 2 to center of editor 2" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 2 to center of editor 0" result="layout (((Navigator)|(layout (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)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 0 to right of editor 0" result="layout (((Navigator)|(layout (((Mock Editor 2)|(Mock Editor 1))|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Problems folder to left of editor area" result="layout ((Navigator)|((Outline, Problems, Properties)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))))"/>
-<test name="drag editor 2 folder to center of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 2)|(Mock Editor 1, Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator to bottom of editor area" result="layout (((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Navigator))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Problems to left of Navigator" result="layout ((((Problems)|(Navigator))|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Properties))"/>
-<test name="drag editor 0 folder to top of editor 2" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)-(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Problems to bottom of window" result="layout ((((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Properties))-(Problems))"/>
-<test name="drag maximized Problems to right of editor area" result="layout (((Navigator)|((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))|(Problems)))-(Outline, Properties))"/>
-<test name="drag maximized Problems to bottom of Navigator" result="layout ((((Navigator)-(Problems))|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Properties))"/>
-<test name="drag Problems folder to top of editor area" result="layout ((Navigator)|((Outline, Problems, Properties)-(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))))"/>
-<test name="drag maximized Problems to left of Problems" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-((Problems)|(Outline, Properties)))"/>
-<test name="drag Problems folder to bottom of editor area" result="layout ((Navigator)|((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Outline, Problems, Properties)))"/>
-<test name="drag maximized Navigator to top of editor area" result="layout (((Navigator)-(layout ((Mock Editor 1, Mock Editor 2)|(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)|(Mock Editor 1)))))-(Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to left of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Navigator to top of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Problems to bottom of Problems" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-((Outline, Properties)-(Problems)))"/>
-<test name="drag maximized Navigator to left of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to left of window" result="layout ((Navigator)|((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Outline, Problems, Properties)))"/>
-<test name="drag maximized Navigator folder to bottom of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator folder to bottom of editor area" result="layout (((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Navigator))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator folder to bottom of Problems" result="layout ((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-((Outline, Problems, Properties)-(Navigator)))"/>
-<test name="drag maximized Problems folder to right of Navigator" result="layout (((Navigator)|(Outline, Problems, Properties))|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))"/>
-<test name="drag Navigator to right of window" result="layout (((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Outline, Problems, Properties))|(Navigator))"/>
-<test name="drag maximized Problems folder to bottom of Problems" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 0 to left of editor 0" result="layout (((Navigator)|(layout (((Mock Editor 1)|(Mock Editor 2))|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Problems folder to center of Problems" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Problems folder to left of Navigator" result="layout (((Outline, Problems, Properties)|(Navigator))|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))"/>
-<test name="drag Navigator to top of window" result="layout ((Navigator)-((layout ((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)|(Mock Editor 2)))-(Problems)))-(Outline, Properties))"/>
-<test name="drag editor 2 to right of editor 0" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(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)|(Mock Editor 2)))|(Navigator))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Problems folder to bottom of editor area" result="layout ((Navigator)|((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Outline, Problems, Properties)))"/>
-<test name="drag Problems folder to top of Navigator" result="layout (((Outline, Problems, Properties)-(Navigator))|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))"/>
-<test name="drag Navigator folder to right of Problems" result="layout ((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-((Outline, Problems, Properties)|(Navigator)))"/>
-<test name="drag Navigator to center of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to top of window" result="layout ((Navigator)-((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Outline, Problems, Properties)))"/>
-<test name="drag maximized Problems folder to bottom of Navigator" result="layout (((Navigator)-(Outline, Problems, Properties))|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))"/>
-<test name="drag maximized Problems to right of Navigator" result="layout ((((Navigator)|(Problems))|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Properties))"/>
-<test name="drag Navigator to right of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 0 folder to bottom of window" result="layout (((Navigator)|(layout ((Mock Editor 2)-(Mock Editor 1, Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 0 folder to top of window" result="layout (((Navigator)|(layout ((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)|(Mock Editor 1, 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)|(Mock Editor 2))))|(Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to left of Problems" result="layout ((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-((Navigator)|(Outline, Problems, Properties)))"/>
-<test name="drag Problems folder to bottom of Problems" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 2 folder to right of window" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Problems to top of window" result="layout ((Problems)-(((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Properties)))"/>
-<test name="drag maximized Problems folder to left of Navigator" result="layout (((Outline, Problems, Properties)|(Navigator))|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))"/>
-<test name="drag maximized Navigator folder to left of Problems" result="layout ((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-((Navigator)|(Outline, Problems, Properties)))"/>
-<test name="drag maximized Problems to top of Navigator" result="layout ((((Problems)-(Navigator))|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Properties))"/>
-<test name="drag maximized Problems to left of window" result="layout ((Problems)|(((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Properties)))"/>
-<test name="drag Problems to center of Problems" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 0 to left of window" result="layout (((Navigator)|(layout ((Mock Editor 1)|((Mock Editor 2)|(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)-(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)|(Mock Editor 2)))-(Navigator))-(Outline, Problems, Properties))"/>
-<test name="drag Navigator to bottom of Problems" result="layout ((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-((Outline, Problems, Properties)-(Navigator)))"/>
-<test name="drag Navigator to left of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(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)|(Mock Editor 2)))|(Navigator))-(Outline, Problems, Properties))"/>
-<test name="drag editor 2 to bottom of window" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)-(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator to right of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Problems folder to center of Problems" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(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)|(Mock Editor 2)))|(Outline, Problems, Properties)))"/>
-<test name="drag editor 2 folder to left of window" result="layout (((Navigator)|(layout ((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)|(Mock Editor 2)))-(Outline, Problems, Properties))-(Navigator))"/>
-<test name="drag maximized Problems to right of window" result="layout ((((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Properties))|(Problems))"/>
-<test name="drag maximized Navigator folder to top of editor area" result="layout (((Navigator)-(layout ((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)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Problems folder to right of window" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))|(Outline, Problems, Properties))"/>
-<test name="drag Problems to left of editor area" result="layout (((Navigator)|((Problems)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))))-(Outline, Properties))"/>
-<test name="drag Problems folder to left of editor area" result="layout ((Navigator)|((Outline, Problems, Properties)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))))"/>
-<test name="drag Problems to top of Navigator" result="layout ((((Problems)-(Navigator))|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Properties))"/>
-<test name="drag editor 2 folder to center of editor 0" result="layout (((Navigator)|(layout (Mock Editor 1, Mock Editor 2, Mock Editor 2)))-(Outline, Problems, Properties))"/>
-<test name="drag Problems folder to bottom of window" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator folder to left of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to top of editor area" result="layout (((Navigator)-(layout ((Mock Editor 1, Mock Editor 2)|(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)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Problems to center of Navigator" result="layout (((Navigator, Problems)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Properties))"/>
-<test name="drag Problems to right of Navigator" result="layout ((((Navigator)|(Problems))|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Properties))"/>
-<test name="drag Navigator to center of Problems" result="layout ((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Outline, Problems, Properties, Navigator))"/>
-<test name="drag maximized Problems folder to center of Navigator" result="layout ((Navigator, Outline, Problems, Properties)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))"/>
-<test name="drag editor 2 folder to center of editor 2" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Problems folder to bottom of Navigator" result="layout (((Navigator)-(Outline, Problems, Properties))|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))"/>
-<test name="drag editor 0 folder to left of editor 0" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator folder to right of window" result="layout (((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Outline, Problems, Properties))|(Navigator))"/>
-<test name="drag editor 0 to bottom of editor 2" result="layout (((Navigator)|(layout ((Mock Editor 2)|((Mock Editor 2)-(Mock Editor 1)))))-(Outline, Problems, Properties))"/>
-<test name="drag Navigator to top of editor area" result="layout (((Navigator)-(layout ((Mock Editor 1, Mock Editor 2)|(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)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 2 to left of editor 0" result="layout (((Navigator)|(layout ((Mock Editor 2)|(Mock Editor 1, Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Navigator to bottom of window" result="layout (((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Outline, Problems, Properties))-(Navigator))"/>
-<test name="drag Navigator folder to bottom of Problems" result="layout ((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-((Outline, Problems, Properties)-(Navigator)))"/>
-<test name="drag Problems to bottom of Navigator" result="layout ((((Navigator)-(Problems))|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Properties))"/>
-<test name="drag maximized Navigator folder to right of editor area" result="layout (((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))|(Navigator))-(Outline, Problems, Properties))"/>
-<test name="drag editor 2 folder to right of editor 0" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 0 to bottom of editor 0" result="layout (((Navigator)|(layout (((Mock Editor 2)-(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)|(Mock Editor 2))))-((Outline, Properties)-(Problems)))"/>
-<test name="drag maximized Navigator to bottom of window" result="layout (((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Outline, Problems, Properties))-(Navigator))"/>
-<test name="drag Navigator to right of editor area" result="layout (((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))|(Navigator))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator folder to center of Problems" result="layout ((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Outline, Problems, Properties, Navigator))"/>
-<test name="drag Problems to right of Problems" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-((Outline, Properties)|(Problems)))"/>
-<test name="drag editor 2 to right of window" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 0 folder to right of window" result="layout (((Navigator)|(layout ((Mock Editor 2)|(Mock Editor 1, Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 2 folder to top of window" result="layout (((Navigator)|(layout ((Mock Editor 2)-(Mock Editor 1, Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to right of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 0 to left of editor 2" result="layout (((Navigator)|(layout ((Mock Editor 2)|((Mock Editor 1)|(Mock Editor 2)))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Problems folder to left of Problems" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 2 to top of window" result="layout (((Navigator)|(layout ((Mock Editor 2)-(Mock Editor 1, Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Navigator to left of editor area" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator to bottom of Problems" result="layout ((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-((Outline, Problems, Properties)-(Navigator)))"/>
-<test name="drag Problems folder to left of Problems" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 2 folder to right of editor 2" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(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)-(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Navigator to left of Problems" result="layout ((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-((Navigator)|(Outline, Problems, Properties)))"/>
-<test name="drag editor 2 to left of window" result="layout (((Navigator)|(layout ((Mock Editor 2)|(Mock Editor 1, Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Problems folder to top of editor area" result="layout ((Navigator)|((Outline, Problems, Properties)-(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))))"/>
-<test name="drag maximized Navigator to left of Problems" result="layout ((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-((Navigator)|(Outline, Problems, Properties)))"/>
-<test name="drag Problems to center of Navigator" result="layout (((Navigator, Problems)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Properties))"/>
-<test name="drag Problems folder to top of window" result="layout ((Outline, Problems, Properties)-((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))))"/>
-<test name="drag Problems to left of Problems" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-((Problems)|(Outline, Properties)))"/>
-<test name="drag maximized Navigator folder to left of window" result="layout ((Navigator)|((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Outline, Problems, Properties)))"/>
-<test name="drag Navigator to bottom of editor area" result="layout (((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Navigator))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Problems to right of Problems" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-((Outline, Properties)|(Problems)))"/>
-<test name="drag Problems folder to left of window" result="layout ((Outline, Problems, Properties)|((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))))"/>
-<test name="drag editor 0 folder to left of editor 2" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 0 folder to center of editor 2" result="layout (((Navigator)|(layout (Mock Editor 2, Mock Editor 1, Mock Editor 2)))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator to center of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Problems to left of Navigator" result="layout ((((Problems)|(Navigator))|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Properties))"/>
-<test name="drag maximized Problems folder to top of Navigator" result="layout (((Outline, Problems, Properties)-(Navigator))|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))"/>
-<test name="drag maximized Navigator to left of editor area" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Navigator folder to center of Problems" result="layout ((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Outline, Problems, Properties, Navigator))"/>
-<test name="drag editor 2 to left of editor 2" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(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)|(Mock Editor 2)))|(Outline, Problems, Properties)))"/>
-<test name="drag maximized Problems folder to right of Problems" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 2 to center of Navigator" result="layout (((Navigator)|(layout ((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)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Problems folder to right of Navigator" result="layout (((Navigator)|(Outline, Problems, Properties))|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))"/>
-<test name="drag maximized Problems folder to left of window" result="layout ((Outline, Problems, Properties)|((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))))"/>
-<test name="drag Navigator to left of window" result="layout ((Navigator)|((layout ((Mock Editor 1, Mock Editor 2)|(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)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator folder to top of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag Problems to left of window" result="layout ((Problems)|(((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Properties)))"/>
-<test name="drag maximized Problems folder to bottom of window" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator to right of window" result="layout (((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Outline, Problems, Properties))|(Navigator))"/>
-<test name="drag Navigator to right of Problems" result="layout ((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-((Outline, Problems, Properties)|(Navigator)))"/>
-<test name="drag maximized Problems to bottom of editor area" result="layout (((Navigator)|((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-(Problems)))-(Outline, Properties))"/>
-<test name="drag editor 2 to bottom of editor 0" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)-(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)|(Mock Editor 2)))|(Problems)))-(Outline, Properties))"/>
-<test name="drag maximized Problems to top of window" result="layout ((Problems)-(((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Properties)))"/>
-<test name="drag Navigator folder to bottom of Navigator" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag editor 2 to top of editor 2" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(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)|(Mock Editor 2))))-(Outline, Problems, Properties))"/>
-<test name="drag maximized Navigator folder to right of Problems" result="layout ((layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2)))-((Outline, Problems, Properties)|(Navigator)))"/>
-<test name="drag Problems to bottom of window" result="layout ((((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Properties))-(Problems))"/>
-<test name="drag Problems to right of window" result="layout ((((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(Mock Editor 2))))-(Outline, Properties))|(Problems))"/>
-<test name="drag editor 0 folder to bottom of editor 0" result="layout (((Navigator)|(layout ((Mock Editor 1, Mock Editor 2)|(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 f5b370f..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"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <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 f4d6786..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="org.eclipse.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">
-      <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 6311f69..0000000
--- a/tests/org.eclipse.ui.tests/plugin.xml
+++ /dev/null
@@ -1,1371 +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="Drag Test Perspective"
-            icon="icons/anything.gif"
-            class="org.eclipse.ui.tests.dnd.DragDropPerspectiveFactory"
-            id="org.eclipse.ui.tests.dnd.dragdrop">
-      </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="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="NullTitle"
-            icon="icons/view.gif"
-            class="org.eclipse.ui.tests.api.NullTitleView"
-            id="org.eclipse.ui.tests.NullTitleView">
-      </view>
-      <view
-            name="StickyView1"
-            icon="icons/view.gif"
-            class="org.eclipse.ui.tests.api.MockViewPart"
-            id="org.eclipse.ui.tests.api.StickyView1">
-      </view>
-      <view
-            name="StickyView2"
-            icon="icons/view.gif"
-            class="org.eclipse.ui.tests.api.MockViewPart"
-            id="org.eclipse.ui.tests.api.StickyView2">
-      </view>
-      <stickyView
-            id="org.eclipse.ui.tests.api.StickyView1">
-      </stickyView>
-      <stickyView
-            id="org.eclipse.ui.tests.api.StickyView2">
-      </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>
-   </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="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>
-         
-      <!-- ObjectContributionTest: This is the content-type-based object contribution -->
-      </objectContribution>
-           <objectContribution
-            adaptable="true"
-            objectClass="org.eclipse.core.resources.IFile"
-            nameFilter="*.xml"
-            id="org.eclipse.ui.tests.ObjectContributionTest.testObjectStateContentType">
-         <visibility>
-            <objectState
-                  name="contentTypeId"
-                  value="org.eclipse.ui.tests.ObjectContributionTest.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.ObjectContributionTest.testObjectStateContentType">
-         </action>
-      </objectContribution>
-      
-   </extension>
-   
-   <extension
-   		point="org.eclipse.core.runtime.contentTypes">
-   		
-      	<!-- ObjectContributionTest: This is the content-type-based object contribution -->
-		<content-type 
-			id="ObjectContributionTest.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="project" />
-			</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"
-            quadrant="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>
-   </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
-            name="Intro Test"
-            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>
-      <activityActivityBinding
-            childActivityId="org.eclipse.activity2"
-            parentActivityId="org.eclipse.activity1">
-      </activityActivityBinding>
-      <activityActivityBinding
-            childActivityId="org.eclipse.activity3"
-            parentActivityId="org.eclipse.activity1">
-      </activityActivityBinding>
-      <activityActivityBinding
-            childActivityId="org.eclipse.activity4"
-            parentActivityId="org.eclipse.activity1">
-      </activityActivityBinding>
-      <activityActivityBinding
-            childActivityId="org.eclipse.activity5"
-            parentActivityId="org.eclipse.activity1">
-      </activityActivityBinding>
-      <activityActivityBinding
-            childActivityId="org.eclipse.activity6"
-            parentActivityId="org.eclipse.activity1">
-      </activityActivityBinding>
-      <activityActivityBinding
-            childActivityId="org.eclipse.activity7"
-            parentActivityId="org.eclipse.activity1">
-      </activityActivityBinding>
-   </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>
-
-</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

-