This commit was manufactured by cvs2svn to create tag 'I20070523-1500'.

Sprout from master 2007-05-23 18:10:55 UTC Tod Creasey <tod> 'Fix for Bug 188056 [Preferences] PreferencePage s have to less indent in PreferenceDialog'
Cherrypick from master 2007-05-23 19:06:40 UTC Kim Horne <khorne> '*** empty log message ***':
    bundles/org.eclipse.ui/buildnotes_workbench.html
Delete:
    bundles/org.eclipse.core.databinding.beans/.classpath
    bundles/org.eclipse.core.databinding.beans/.cvsignore
    bundles/org.eclipse.core.databinding.beans/.project
    bundles/org.eclipse.core.databinding.beans/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.core.databinding.beans/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.core.databinding.beans/.settings/org.eclipse.pde.prefs
    bundles/org.eclipse.core.databinding.beans/META-INF/MANIFEST.MF
    bundles/org.eclipse.core.databinding.beans/about.html
    bundles/org.eclipse.core.databinding.beans/build.properties
    bundles/org.eclipse.core.databinding.beans/plugin.properties
    bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/databinding/beans/BeansObservables.java
    bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/databinding/beans/IBeanObservable.java
    bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/databinding/beans/package.html
    bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/BeanObservableListDecorator.java
    bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/BeanObservableSetDecorator.java
    bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/BeanObservableValueDecorator.java
    bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/IdentityWrapper.java
    bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/JavaBeanObservableList.java
    bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/JavaBeanObservableMap.java
    bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/JavaBeanObservableSet.java
    bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/JavaBeanObservableValue.java
    bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/ListenerSupport.java
    bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/package.html
    bundles/org.eclipse.ui.browser/.classpath
    bundles/org.eclipse.ui.browser/.cvsignore
    bundles/org.eclipse.ui.browser/.options
    bundles/org.eclipse.ui.browser/.project
    bundles/org.eclipse.ui.browser/.settings/org.eclipse.core.resources.prefs
    bundles/org.eclipse.ui.browser/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui.browser/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.ui.browser/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.browser/about.html
    bundles/org.eclipse.ui.browser/build.properties
    bundles/org.eclipse.ui.browser/component.xml
    bundles/org.eclipse.ui.browser/icons/clcl16/nav_backward.gif
    bundles/org.eclipse.ui.browser/icons/clcl16/nav_forward.gif
    bundles/org.eclipse.ui.browser/icons/clcl16/nav_go.gif
    bundles/org.eclipse.ui.browser/icons/clcl16/nav_home.gif
    bundles/org.eclipse.ui.browser/icons/clcl16/nav_print.gif
    bundles/org.eclipse.ui.browser/icons/clcl16/nav_refresh.gif
    bundles/org.eclipse.ui.browser/icons/clcl16/nav_stop.gif
    bundles/org.eclipse.ui.browser/icons/dlcl16/nav_backward.gif
    bundles/org.eclipse.ui.browser/icons/dlcl16/nav_forward.gif
    bundles/org.eclipse.ui.browser/icons/dlcl16/nav_go.gif
    bundles/org.eclipse.ui.browser/icons/dlcl16/nav_home.gif
    bundles/org.eclipse.ui.browser/icons/dlcl16/nav_print.gif
    bundles/org.eclipse.ui.browser/icons/dlcl16/nav_refresh.gif
    bundles/org.eclipse.ui.browser/icons/dlcl16/nav_stop.gif
    bundles/org.eclipse.ui.browser/icons/dlcl16/synced.gif
    bundles/org.eclipse.ui.browser/icons/elcl16/nav_backward.gif
    bundles/org.eclipse.ui.browser/icons/elcl16/nav_forward.gif
    bundles/org.eclipse.ui.browser/icons/elcl16/nav_go.gif
    bundles/org.eclipse.ui.browser/icons/elcl16/nav_home.gif
    bundles/org.eclipse.ui.browser/icons/elcl16/nav_print.gif
    bundles/org.eclipse.ui.browser/icons/elcl16/nav_refresh.gif
    bundles/org.eclipse.ui.browser/icons/elcl16/nav_stop.gif
    bundles/org.eclipse.ui.browser/icons/elcl16/synced.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/1.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/10.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/11.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/12.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/13.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/2.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/3.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/4.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/5.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/6.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/7.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/8.gif
    bundles/org.eclipse.ui.browser/icons/obj16/busy/9.gif
    bundles/org.eclipse.ui.browser/icons/obj16/external_browser.gif
    bundles/org.eclipse.ui.browser/icons/obj16/internal_browser.gif
    bundles/org.eclipse.ui.browser/plugin.properties
    bundles/org.eclipse.ui.browser/plugin.xml
    bundles/org.eclipse.ui.browser/schema/browsers.exsd
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/browser/BrowserFactory.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptor.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptorDialog.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptorWorkingCopy.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserExt.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserLauncher.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserManager.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserText.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserViewer.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BusyIndicator.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ContextIds.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/DefaultBrowserSupport.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ExternalBrowserInstance.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/FallbackScrolledComposite.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserDescriptor.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserDescriptorWorkingCopy.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserExt.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserViewerContainer.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ImageResource.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserEditorInstance.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserInstance.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserViewInstance.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Messages.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Messages.properties
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/OpenBrowserHandler.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/OpenBrowserWorkbenchAction.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SWTUtil.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SystemBrowserDescriptor.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SystemBrowserInstance.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/TextAction.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ToolbarLayout.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Trace.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditor.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditorActionBarContributor.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditorInput.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserPreference.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserPreferencePage.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserUIPlugin.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserUtil.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserView.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserViewDropAdapter.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/BrowserLog.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/DefaultBrowser.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/DefaultBrowserFactory.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/MozillaBrowser.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/MozillaFactory.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/NullBrowser.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/StreamConsumer.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/DefaultBrowser.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/DefaultBrowserFactory.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/SafariBrowser.java
    bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/SafariBrowserFactory.java
    bundles/org.eclipse.ui.carbon/.classpath
    bundles/org.eclipse.ui.carbon/.cvsignore
    bundles/org.eclipse.ui.carbon/.project
    bundles/org.eclipse.ui.carbon/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui.carbon/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.ui.carbon/.settings/org.eclipse.pde.prefs
    bundles/org.eclipse.ui.carbon/.template
    bundles/org.eclipse.ui.carbon/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.carbon/about.html
    bundles/org.eclipse.ui.carbon/build.properties
    bundles/org.eclipse.ui.carbon/fragment-carbon.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/.options
    bundles/org.eclipse.ui.forms/.project
    bundles/org.eclipse.ui.forms/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui.forms/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.forms/about.html
    bundles/org.eclipse.ui.forms/build.properties
    bundles/org.eclipse.ui.forms/component.xml
    bundles/org.eclipse.ui.forms/icons/progress/ani/progress.gif
    bundles/org.eclipse.ui.forms/plugin.properties
    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/FormDialog.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/IFormColors.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/IMessage.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IMessageManager.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IMessagePrefixProvider.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/SharedHeaderFormEditor.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/LayoutCache.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/SizeCache.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/IMessageToolTipManager.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/MessageManager.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/Messages.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/Messages.properties
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/AggregateHyperlinkSegment.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/BusyIndicator.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ControlSegment.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormHeading.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/IFocusSelectable.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/IHyperlinkSegment.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ImageHyperlinkSegment.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/ObjectSegment.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/PixelConverter.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/SWTUtil.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/SelectionData.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TextHyperlinkSegment.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/TitleRegion.java
    bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/WrappedPageBook.java
    bundles/org.eclipse.ui.presentations.r21/.classpath
    bundles/org.eclipse.ui.presentations.r21/.cvsignore
    bundles/org.eclipse.ui.presentations.r21/.project
    bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.pde.prefs
    bundles/org.eclipse.ui.presentations.r21/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.presentations.r21/README.TXT
    bundles/org.eclipse.ui.presentations.r21/about.html
    bundles/org.eclipse.ui.presentations.r21/build.properties
    bundles/org.eclipse.ui.presentations.r21/component.xml
    bundles/org.eclipse.ui.presentations.r21/plugin.properties
    bundles/org.eclipse.ui.presentations.r21/plugin.xml
    bundles/org.eclipse.ui.presentations.r21/r21presentation.ini
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21BasicStackPresentation.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21EditorStackPresentation.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21PresentationFactory.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21ViewStackPresentation.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21Colors.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationMessages.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationPlugin.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/messages.properties
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolder.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderEvent.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderListener.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabItem.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolder.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolderButtonListener.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/ViewForm.java
    bundles/org.eclipse.ui.tutorials.rcp.part1/.classpath
    bundles/org.eclipse.ui.tutorials.rcp.part1/.cvsignore
    bundles/org.eclipse.ui.tutorials.rcp.part1/.project
    bundles/org.eclipse.ui.tutorials.rcp.part1/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.tutorials.rcp.part1/build.properties
    bundles/org.eclipse.ui.tutorials.rcp.part1/part1.product
    bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.xml
    bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/Application.java
    bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/ApplicationActionBarAdvisor.java
    bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/ApplicationWorkbenchAdvisor.java
    bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/ApplicationWorkbenchWindowAdvisor.java
    bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/Part1Plugin.java
    bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/Perspective.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/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.tutorials.rcp.part2/build.properties
    bundles/org.eclipse.ui.tutorials.rcp.part2/part2.product
    bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.xml
    bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Application.java
    bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/ApplicationActionBarAdvisor.java
    bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/ApplicationWorkbenchAdvisor.java
    bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/ApplicationWorkbenchWindowAdvisor.java
    bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Part2Plugin.java
    bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Perspective.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/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.tutorials.rcp.part3/build.properties
    bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample.icns
    bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample2.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample3.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/part3.product
    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/product_lg.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/splash.bmp
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Application.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/ApplicationActionBarAdvisor.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/ApplicationWorkbenchAdvisor.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/ApplicationWorkbenchWindowAdvisor.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/ICommandIds.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/MessagePopupAction.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/NavigationView.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/OpenViewAction.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Part3Plugin.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Perspective.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/View.java
    bundles/org.eclipse.ui.views.properties.tabbed/.classpath
    bundles/org.eclipse.ui.views.properties.tabbed/.cvsignore
    bundles/org.eclipse.ui.views.properties.tabbed/.project
    bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.pde.prefs
    bundles/org.eclipse.ui.views.properties.tabbed/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.views.properties.tabbed/about.html
    bundles/org.eclipse.ui.views.properties.tabbed/build.properties
    bundles/org.eclipse.ui.views.properties.tabbed/plugin.properties
    bundles/org.eclipse.ui.views.properties.tabbed/plugin.xml
    bundles/org.eclipse.ui.views.properties.tabbed/schema/propertyContributor.exsd
    bundles/org.eclipse.ui.views.properties.tabbed/schema/propertySections.exsd
    bundles/org.eclipse.ui.views.properties.tabbed/schema/propertyTabs.exsd
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/TabbedPropertyViewPlugin.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/TabbedPropertyViewStatusCodes.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/l10n/TabbedPropertyMessages.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/l10n/TabbedPropertyMessages.properties
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/SectionDescriptor.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/Tab.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabDescriptor.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabListContentProvider.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyComposite.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyList.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyRegistry.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyRegistryClassSectionFilter.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyRegistryFactory.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyTitle.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyViewer.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AbstractPropertySection.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AbstractTypeMapper.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AdvancedPropertySection.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/IActionProvider.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISection.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISectionDescriptor.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISectionDescriptorProvider.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabItem.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabSelectionListener.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabbedPropertyConstants.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabbedPropertySheetPageContributor.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITypeMapper.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetPage.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetWidgetFactory.java
    bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/package.html
    bundles/org.eclipse.ui.views/.classpath
    bundles/org.eclipse.ui.views/.cvsignore
    bundles/org.eclipse.ui.views/.project
    bundles/org.eclipse.ui.views/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui.views/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.ui.views/.settings/org.eclipse.pde.prefs
    bundles/org.eclipse.ui.views/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.views/about.html
    bundles/org.eclipse.ui.views/build.properties
    bundles/org.eclipse.ui.views/component.xml
    bundles/org.eclipse.ui.views/icons/full/dlcl16/defaults_ps.gif
    bundles/org.eclipse.ui.views/icons/full/dlcl16/filter_ps.gif
    bundles/org.eclipse.ui.views/icons/full/dlcl16/tree_mode.gif
    bundles/org.eclipse.ui.views/icons/full/elcl16/defaults_ps.gif
    bundles/org.eclipse.ui.views/icons/full/elcl16/filter_ps.gif
    bundles/org.eclipse.ui.views/icons/full/elcl16/tree_mode.gif
    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/internal/views/contentoutline/ContentOutlineMessages.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/messages.properties
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/package.html
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/properties/PropertiesMessages.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/properties/messages.properties
    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/package.html
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CategoriesAction.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ColorPropertyDescriptor.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxLabelProvider.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxPropertyDescriptor.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CopyPropertyAction.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/DefaultsAction.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/FilterAction.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ICellEditorActivationListener.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertiesHelpContextIds.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertyDescriptor.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntry.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntryListener.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetPage.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource2.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySourceProvider.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/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/PropertySheetSorter.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/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/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui.win32/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.ui.win32/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.win32/about.html
    bundles/org.eclipse.ui.win32/build.properties
    bundles/org.eclipse.ui.win32/fragment-win32.properties
    bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleEditor.java
    bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleMessages.java
    bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/messages.properties
    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/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.pde.prefs
    bundles/org.eclipse.ui.workbench.compatibility/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.workbench.compatibility/about.html
    bundles/org.eclipse.ui.workbench.compatibility/build.properties
    bundles/org.eclipse.ui.workbench.compatibility/fragment-compatibility.properties
    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
    examples/org.eclipse.jface.examples.databinding/.classpath
    examples/org.eclipse.jface.examples.databinding/.cvsignore
    examples/org.eclipse.jface.examples.databinding/.project
    examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.jface.examples.databinding/META-INF/MANIFEST.MF
    examples/org.eclipse.jface.examples.databinding/about.html
    examples/org.eclipse.jface.examples.databinding/build.properties
    examples/org.eclipse.jface.examples.databinding/plugin.properties
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ModelObject.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/AsynchronousTestSet.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/LabelProviderTest.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/LabelProviderTest2.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/RenamableItem.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/SimpleNode.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/SomeMathFunction.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/StructuredContentProviderTest.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/TreeContentProviderTest.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ducks/DuckType.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ducks/ReflectedMethod.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ducks/ReflectedProperty.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ducks/RelaxedDuckType.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/EditMask.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/EditMaskParseException.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/EditMaskTest.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/internal/EditMaskLexerAndToken.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/internal/EditMaskParser.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/internal/SWTUtil.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/internal/WorkQueue.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Account.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Adventure.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/AdventureFactory.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/AggregateObservableValue.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Cart.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Catalog.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Category.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Lodging.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/PriceModelObject.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SampleData.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Signon.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SimpleModel.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SimpleOrder.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SimplePerson.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Transportation.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/TestMasterDetail.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/radioGroup/RadioGroup.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/radioGroup/VetoableSelectionListener.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet000HelloWorld.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet001NestedSelectionWithCombo.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet002UpdateComboRetainSelection.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet003UpdateComboBindUsingViewer.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet004DataBindingContextErrorLabel.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet005MenuUpdater.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet006Spreadsheet.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet007ColorLabelProvider.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet008ComputedValue.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet009TableViewer.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet010MasterDetail.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet011ValidateMultipleBindingsSnippet.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet012CompositeUpdater.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet013TableViewerEditing.java
    examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet0xffffffff.java
    examples/org.eclipse.jface.snippets/.classpath
    examples/org.eclipse.jface.snippets/.project
    examples/org.eclipse.jface.snippets/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/dialogs/Snippet012DialogWithImageButtons.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/dialogs/cancel.png
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/dialogs/filesave.png
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/layout/Snippet013GridLayoutFactory.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/layout/Snippet016TableLayout.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/layout/Snippet027TreeLayout.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/AbstractCellCursor.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/CursorCellHighlighter.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/FocusBorderCellHighlighter.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet001TableViewer.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet002TreeViewer.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet003TableLabelProvider.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet004HideSelection.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet005TreeCustomMenu.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet006TableMultiLineCells.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet007FullSelection.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet008RevealElement.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet009CellEditors.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet010OwnerDraw.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet011CustomTooltips.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet013TableViewerNoMandatoryLabelProvider.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet014TreeViewerNoMandatoryLabelProvider.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet015CustomTooltipsForTree.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet017TableViewerHideShowColumns.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet018TableViewerAddRemoveColumnsWithEditing.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet019TableViewerAddRemoveColumnsWithEditingNewAPI.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet021CellEditorsOnDoubleClick.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet022TableViewerRefreshNoScroll.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet024TableViewerExploreNewAPI.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet025TabEditing.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet026TreeViewerTabEditing.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet027ComboBoxCellEditors.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet029VirtualTableViewer.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet030VirtualLazyTableViewer.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet031TableViewerCustomTooltipsMultiSelection.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet032TableTreeViewer.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet033CellEditorPerRowPre33.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet034CellEditorPerRowNewAPI.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet035TableCursorCellHighlighter.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet036FocusBorderCellHighlighter.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet037FancyCustomTooltips.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/TableCursor.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/Snippet020CustomizedControlTooltips.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/Snippet023TreeViewerCustomTooltips.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/Snippet031TableStaticTooltip.java
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/linkto_help.gif
    examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/showerr_tsk.gif
    examples/org.eclipse.jface.snippets/META-INF/MANIFEST.MF
    examples/org.eclipse.jface.snippets/build.properties
    examples/org.eclipse.ui.examples.contributions/.project
    examples/org.eclipse.ui.examples.fieldassist/.classpath
    examples/org.eclipse.ui.examples.fieldassist/.cvsignore
    examples/org.eclipse.ui.examples.fieldassist/.project
    examples/org.eclipse.ui.examples.fieldassist/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.fieldassist/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.ui.examples.fieldassist/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/FieldAssistPlugin.java
    examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/FieldAssistTestDialog.java
    examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/TaskAssistExampleMessages.java
    examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/actions/TestDialogAction.java
    examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/messages.properties
    examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/preferences/ContentAssistPreferencePage.java
    examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/preferences/FieldAssistPreferencePage.java
    examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/preferences/PreferenceConstants.java
    examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/preferences/PreferenceInitializer.java
    examples/org.eclipse.ui.examples.fieldassist/META-INF/MANIFEST.MF
    examples/org.eclipse.ui.examples.fieldassist/about.html
    examples/org.eclipse.ui.examples.fieldassist/build.properties
    examples/org.eclipse.ui.examples.fieldassist/doc-html/hglegal.htm
    examples/org.eclipse.ui.examples.fieldassist/doc-html/ui_fieldassist_ex.html
    examples/org.eclipse.ui.examples.fieldassist/icons/sample.gif
    examples/org.eclipse.ui.examples.fieldassist/plugin.properties
    examples/org.eclipse.ui.examples.fieldassist/plugin.xml
    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/META-INF/MANIFEST.MF
    examples/org.eclipse.ui.examples.job/README.TXT
    examples/org.eclipse.ui.examples.job/about.html
    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/TestJobRule.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/UITestJob.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/CreateJobsAction.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/DebugJobManagerAction.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/ForegroundAction.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/JobAction.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/SuspendJobManagerAction.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/DeferredContentProvider.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/JobsView.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/LazyTreeView.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/ProgressExampleAdapterFactory.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElement.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElementAdapter.java
    examples/org.eclipse.ui.examples.multipageeditor/.classpath
    examples/org.eclipse.ui.examples.multipageeditor/.cvsignore
    examples/org.eclipse.ui.examples.multipageeditor/.project
    examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.pde.prefs
    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/META-INF/MANIFEST.MF
    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/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.navigator/.classpath
    examples/org.eclipse.ui.examples.navigator/.project
    examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.ui.examples.navigator/META-INF/MANIFEST.MF
    examples/org.eclipse.ui.examples.navigator/about.html
    examples/org.eclipse.ui.examples.navigator/build.properties
    examples/org.eclipse.ui.examples.navigator/icons/delete_obj.gif
    examples/org.eclipse.ui.examples.navigator/icons/filenav_nav.gif
    examples/org.eclipse.ui.examples.navigator/icons/prop_ps.gif
    examples/org.eclipse.ui.examples.navigator/plugin.properties
    examples/org.eclipse.ui.examples.navigator/plugin.xml
    examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/PropertiesContentProvider.java
    examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/PropertiesLabelProvider.java
    examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/PropertiesTreeData.java
    examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/actions/DeletePropertyAction.java
    examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/actions/OpenPropertyAction.java
    examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/actions/PropertyActionProvider.java
    examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/internal/examples/navigator/Activator.java
    examples/org.eclipse.ui.examples.presentation/.classpath
    examples/org.eclipse.ui.examples.presentation/.cvsignore
    examples/org.eclipse.ui.examples.presentation/.project
    examples/org.eclipse.ui.examples.presentation/BareBonesPresentation.ini
    examples/org.eclipse.ui.examples.presentation/WrappedTabsPresentation.ini
    examples/org.eclipse.ui.examples.presentation/about.html
    examples/org.eclipse.ui.examples.presentation/build.properties
    examples/org.eclipse.ui.examples.presentation/eclipsecon2005-presentationsAPI.ppt
    examples/org.eclipse.ui.examples.presentation/icons/close_view.gif
    examples/org.eclipse.ui.examples.presentation/icons/hide_toolbar.GIF
    examples/org.eclipse.ui.examples.presentation/icons/max_view.gif
    examples/org.eclipse.ui.examples.presentation/icons/min_view.gif
    examples/org.eclipse.ui.examples.presentation/icons/restore_view.GIF
    examples/org.eclipse.ui.examples.presentation/icons/show_toolbar.GIF
    examples/org.eclipse.ui.examples.presentation/icons/view_menu.GIF
    examples/org.eclipse.ui.examples.presentation/plugin.xml
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationExamplesPlugin.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationImages.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationPlugin.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/barebones/BareBonesPartPresentation.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/barebones/BareBonesPresentationFactory.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/baretittle/BareTitlePresentationFactory.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/baretittle/BareTitleStackPresentation.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/ClosePartContributionItem.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/PartItem.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/SideWinderItemViewPresentation.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/SideWinderPresentationFactory.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ChangeStackStateContributionItem.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseAllContributionItem.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseContributionItem.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseOthersContributionItem.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/PartListContributionItem.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ProxyControl.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ShowToolbarContributionItem.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsPartPresentation.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsPresentationFactory.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsThemeConstants.java
    examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsUtil.java
    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/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.pde.prefs
    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/META-INF/MANIFEST.MF
    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/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/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.rcp.browser/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.ui.examples.rcp.browser/Browser.product
    examples/org.eclipse.ui.examples.rcp.browser/META-INF/MANIFEST.MF
    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/alt16.gif
    examples/org.eclipse.ui.examples.rcp.browser/icons/alt32.gif
    examples/org.eclipse.ui.examples.rcp.browser/icons/alt_about.gif
    examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse.gif
    examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse32.gif
    examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse_lg.gif
    examples/org.eclipse.ui.examples.rcp.browser/plugin.properties
    examples/org.eclipse.ui.examples.rcp.browser/plugin.xml
    examples/org.eclipse.ui.examples.rcp.browser/plugin_customization.ini
    examples/org.eclipse.ui.examples.rcp.browser/readme.html
    examples/org.eclipse.ui.examples.rcp.browser/splash.bmp
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserActionBarAdvisor.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/BrowserPlugin.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPreferenceInitializer.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserView.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserWindowAdvisor.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/HistoryView.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/IBrowserConstants.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/ISecondaryPart.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/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.pde.prefs
    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/ReadmeControlContribution.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/ReadmePreferenceInitializer.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/ReadmeTrimWidget.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/META-INF/MANIFEST.MF
    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/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/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.examples.undo/.classpath
    examples/org.eclipse.ui.examples.undo/.cvsignore
    examples/org.eclipse.ui.examples.undo/.project
    examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/AddBoxOperation.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/Box.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/BoxOperation.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/Boxes.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/ClearBoxesOperation.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/MoveBoxOperation.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/PromptingUserApprover.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/UndoExampleMessages.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/UndoPlugin.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/messages.properties
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/PreferenceConstants.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/PreferenceInitializer.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/UndoPreferencePage.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/views/BoxView.java
    examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/views/UndoHistoryView.java
    examples/org.eclipse.ui.examples.undo/META-INF/MANIFEST.MF
    examples/org.eclipse.ui.examples.undo/about.html
    examples/org.eclipse.ui.examples.undo/build.properties
    examples/org.eclipse.ui.examples.undo/doc-html/ui_undo_ex.html
    examples/org.eclipse.ui.examples.undo/icons/sample.gif
    examples/org.eclipse.ui.examples.undo/plugin.properties
    examples/org.eclipse.ui.examples.undo/plugin.xml
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/.classpath
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/.cvsignore
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/.project
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/META-INF/MANIFEST.MF
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/about.html
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/build.properties
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/icons/sample.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/plugin.properties
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/plugin.xml
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/Activator.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/ButtonElement.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/ButtonElementProperties.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/CheckBoxPropertyDescriptor.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontDialogCellEditor.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontPropertyDescriptor.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontSection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/LabelSection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SampleView.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SizePropertySource.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SizeSection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.classpath
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.cvsignore
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.project
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/META-INF/MANIFEST.MF
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/about.html
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/build.properties
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateDefence_playerStats_PlayerStats.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateForward_playerStats_PlayerStats.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateGoalie_goalieStats_GoalieStats.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateLeague_teams_Team.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_arena_Arena.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_defencemen_Defence.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_forwards_Forward.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_goalies_Goalie.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Arena.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Defence.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Forward.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Goalie.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/GoalieStats.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Height.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/HockeyleagueModelFile.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/HockeyleagueObject.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/League.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Player.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/PlayerStats.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Team.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Weight.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/wizban/NewHockeyleague.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/hockeyleague.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/model/hockeyleague.ecore
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/model/hockeyleague.genmodel
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/plugin.properties
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/plugin.xml
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Arena.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Defence.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/DefencePositionKind.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Forward.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ForwardPositionKind.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Goalie.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/GoalieStats.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HeightKind.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleagueFactory.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleagueObject.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleaguePackage.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleaguePlugin.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/League.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Player.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/PlayerStats.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ShotKind.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Team.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/WeightKind.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/ArenaImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/DefenceImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/ForwardImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/GoalieImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/GoalieStatsImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleagueFactoryImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleagueObjectImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleaguePackageImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/LeagueImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/PlayerImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/PlayerStatsImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/TeamImpl.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/ArenaItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/DefenceItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/ForwardItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/GoalieItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/GoalieStatsItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/HockeyleagueItemProviderAdapterFactory.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/HockeyleagueObjectItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/LeagueItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/PlayerItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/PlayerStatsItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/TeamItemProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/actions/HockeyleagueCreateChildAction.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/dialogs/HockeyleagueSetDefaultsDialog.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/editor/HockeyleagueActionBarContributor.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/editor/HockeyleagueEditor.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/HockeyleagueLabelProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/HockeyleaguePropertySheetPage.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/TextChangeHelper.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractEnumerationPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractHockeyleaguePropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractIntegerPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractMeasurementPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractPlayersPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractStringPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractTablePropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractTextPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AddressPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AdvancedPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/BirthDatePropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/BirthPlacePropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/CapacityPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/DefencePositionPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/DefencemenPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ForwardPositionPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ForwardsPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/GoaliesPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/HeadOfficePropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/HeightPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/NamePropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/NumberPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/PlayerStatsPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ShotPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/TeamsPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/WeightPropertySection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueFileWizard.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueFileWizardPage.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueProjectWizard.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/util/HockeyleagueAdapterFactory.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/util/HockeyleagueSwitch.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.classpath
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.cvsignore
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.project
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/META-INF/MANIFEST.MF
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/about.html
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/build.properties
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/icons/logic.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/icons/logicbanner.gif
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/plugin.properties
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/plugin.xml
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/Activator.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/LogicCreationWizard.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/LogicWizardPage1.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/TabbedPropertiesLogicEditor.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/AbstractSection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LocationSection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementLabelProvider.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementSizeFilter.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementTypeMapper.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/NameSection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/SizeSection.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/TextChangeHelper.java
    examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/ValueSection.java
    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/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.ui.forms.examples/about.html
    examples/org.eclipse.ui.forms.examples/build.properties
    examples/org.eclipse.ui.forms.examples/icons/clear.gif
    examples/org.eclipse.ui.forms.examples/icons/close_view.gif
    examples/org.eclipse.ui.forms.examples/icons/container_obj.gif
    examples/org.eclipse.ui.forms.examples/icons/e_search_menu.gif
    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/help.gif
    examples/org.eclipse.ui.forms.examples/icons/help_topic.gif
    examples/org.eclipse.ui.forms.examples/icons/large_image.gif
    examples/org.eclipse.ui.forms.examples/icons/linkto_help.gif
    examples/org.eclipse.ui.forms.examples/icons/newprj_wiz.gif
    examples/org.eclipse.ui.forms.examples/icons/nw.gif
    examples/org.eclipse.ui.forms.examples/icons/progress.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/icons/toc_closed.gif
    examples/org.eclipse.ui.forms.examples/icons/toc_open.gif
    examples/org.eclipse.ui.forms.examples/icons/topic_small.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/dialogs/OpenFormDialog.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/dialogs/SampleFormDialog.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ErrorMessagesPage.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/HeadlessPage.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/NewStylePage.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/OpenSingleHeaderEditorAction.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/SingleHeaderEditor.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
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/ShowHelpAction.java
    tests/org.eclipse.ui.tests.browser/.classpath
    tests/org.eclipse.ui.tests.browser/.cvsignore
    tests/org.eclipse.ui.tests.browser/.options
    tests/org.eclipse.ui.tests.browser/.project
    tests/org.eclipse.ui.tests.browser/about.html
    tests/org.eclipse.ui.tests.browser/build.properties
    tests/org.eclipse.ui.tests.browser/plugin.xml
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/AllTests.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/DialogsTestCase.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ExistenceTestCase.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ExternalBrowserTestCase.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/InternalBrowserEditorTestCase.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/InternalBrowserViewTestCase.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/OrderedTestSuite.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/PreferencesTestCase.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ToolbarBrowserTestCase.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/UITestHelper.java
    tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/WebBrowserTestsPlugin.java
    tests/org.eclipse.ui.tests.browser/test.xml
    tests/org.eclipse.ui.tests.harness/.classpath
    tests/org.eclipse.ui.tests.harness/.cvsignore
    tests/org.eclipse.ui.tests.harness/.project
    tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.jdt.core.prefs
    tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.jdt.ui.prefs
    tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.pde.prefs
    tests/org.eclipse.ui.tests.harness/META-INF/MANIFEST.MF
    tests/org.eclipse.ui.tests.harness/about.html
    tests/org.eclipse.ui.tests.harness/build.properties
    tests/org.eclipse.ui.tests.harness/icons/anything.gif
    tests/org.eclipse.ui.tests.harness/plugin.xml
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/AllTests.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/UITestHarnessPlugin.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/tests/MocksTest.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ActionUtil.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ArrayUtil.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/AutomationUtil.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/CallHistory.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/DialogCheck.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/EmptyPerspective.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/FileTool.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/FileUtil.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ImageTests.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/Mocks.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/PlatformUtil.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/UITestCase.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/AccessibilityTestPass.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/FailureDialog.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/FocusTestPass.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/IDialogTestPass.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/SizingTestPass.java
    tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/VerifyDialog.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/.classpath
    tests/org.eclipse.ui.tests.views.properties.tabbed/.cvsignore
    tests/org.eclipse.ui.tests.views.properties.tabbed/.project
    tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.jdt.core.prefs
    tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.jdt.ui.prefs
    tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.pde.prefs
    tests/org.eclipse.ui.tests.views.properties.tabbed/META-INF/MANIFEST.MF
    tests/org.eclipse.ui.tests.views.properties.tabbed/Tabbed Properties View-All Tests.launch
    tests/org.eclipse.ui.tests.views.properties.tabbed/about.html
    tests/org.eclipse.ui.tests.views.properties.tabbed/build.properties
    tests/org.eclipse.ui.tests.views.properties.tabbed/icons/sample.gif
    tests/org.eclipse.ui.tests.views.properties.tabbed/plugin.properties
    tests/org.eclipse.ui.tests.views.properties.tabbed/plugin.xml
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/Activator.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/AllTests.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/TabbedPropertySheetPageTest.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Element.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Error.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/File.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Folder.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Information.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Project.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Warning.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/InformationTwoSection.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/LabelSection.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/MessageSection.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/NameSection.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/ResourceSection.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/InformationTwoFilter.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/LabelProvider.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsPerspective.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsView.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsViewContentProvider.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TypeMapper.java
    tests/org.eclipse.ui.tests.views.properties.tabbed/test.xml
diff --git a/bundles/org.eclipse.core.databinding.beans/.classpath b/bundles/org.eclipse.core.databinding.beans/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.core.databinding.beans/.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.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.core.databinding.beans/.cvsignore b/bundles/org.eclipse.core.databinding.beans/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.core.databinding.beans/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.core.databinding.beans/.project b/bundles/org.eclipse.core.databinding.beans/.project
deleted file mode 100644
index b4a9c58..0000000
--- a/bundles/org.eclipse.core.databinding.beans/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.core.databinding.beans</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.core.databinding.beans/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.core.databinding.beans/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 0aade4c..0000000
--- a/bundles/org.eclipse.core.databinding.beans/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,71 +0,0 @@
-#Thu Feb 01 22:33:45 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.core.databinding.beans/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.core.databinding.beans/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 59509e0..0000000
--- a/bundles/org.eclipse.core.databinding.beans/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Thu Aug 24 15:24:48 EDT 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.3\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/bundles/org.eclipse.core.databinding.beans/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.core.databinding.beans/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index fee4b04..0000000
--- a/bundles/org.eclipse.core.databinding.beans/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Sat Mar 19 15:31:31 EST 2005
-compilers.p.deprecated=0
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/bundles/org.eclipse.core.databinding.beans/META-INF/MANIFEST.MF b/bundles/org.eclipse.core.databinding.beans/META-INF/MANIFEST.MF
deleted file mode 100644
index dff130c..0000000
--- a/bundles/org.eclipse.core.databinding.beans/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.core.databinding.beans
-Bundle-Version: 1.0.0.qualifier
-Bundle-ClassPath: .
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.core.databinding.beans,
- org.eclipse.core.internal.databinding.internal.beans;x-internal:=true
-Require-Bundle: org.eclipse.core.databinding;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.equinox.common;bundle-version="[3.2.0,4.0.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/bundles/org.eclipse.core.databinding.beans/about.html b/bundles/org.eclipse.core.databinding.beans/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.core.databinding.beans/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.databinding.beans/build.properties b/bundles/org.eclipse.core.databinding.beans/build.properties
deleted file mode 100644
index 6f0a513..0000000
--- a/bundles/org.eclipse.core.databinding.beans/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = .,\
-               META-INF/,\
-               plugin.properties,\
-               about.html
-output.databinding.jar = bin/
-src.includes = about.html
-source.. = src/
diff --git a/bundles/org.eclipse.core.databinding.beans/plugin.properties b/bundles/org.eclipse.core.databinding.beans/plugin.properties
deleted file mode 100644
index 083e360..0000000
--- a/bundles/org.eclipse.core.databinding.beans/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = JFace Data Binding for JavaBeans
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/databinding/beans/BeansObservables.java b/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/databinding/beans/BeansObservables.java
deleted file mode 100644
index 35ee4c5..0000000
--- a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/databinding/beans/BeansObservables.java
+++ /dev/null
@@ -1,423 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Brad Reynolds - bug 164268, 171616
- *     Brad Reynolds - bug 147515
- *******************************************************************************/
-package org.eclipse.core.databinding.beans;
-
-import java.beans.BeanInfo;
-import java.beans.IntrospectionException;
-import java.beans.Introspector;
-import java.beans.PropertyDescriptor;
-
-import org.eclipse.core.databinding.BindingException;
-import org.eclipse.core.databinding.observable.IObservable;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.list.IObservableList;
-import org.eclipse.core.databinding.observable.map.IObservableMap;
-import org.eclipse.core.databinding.observable.masterdetail.IObservableFactory;
-import org.eclipse.core.databinding.observable.masterdetail.MasterDetailObservables;
-import org.eclipse.core.databinding.observable.set.IObservableSet;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.core.internal.databinding.internal.beans.BeanObservableListDecorator;
-import org.eclipse.core.internal.databinding.internal.beans.BeanObservableSetDecorator;
-import org.eclipse.core.internal.databinding.internal.beans.BeanObservableValueDecorator;
-import org.eclipse.core.internal.databinding.internal.beans.JavaBeanObservableList;
-import org.eclipse.core.internal.databinding.internal.beans.JavaBeanObservableMap;
-import org.eclipse.core.internal.databinding.internal.beans.JavaBeanObservableSet;
-import org.eclipse.core.internal.databinding.internal.beans.JavaBeanObservableValue;
-
-/**
- * A factory for creating observable objects of Java objects that conform to the
- * <a href="http://java.sun.com/products/javabeans/docs/spec.html">JavaBean
- * specification</a> for bound properties.
- * 
- * @since 1.1
- * 
- */
-final public class BeansObservables {
-
-	/**
-	 * 
-	 */
-	public static final boolean DEBUG = true;
-
-	/**
-	 * Returns an observable value in the default realm tracking the current
-	 * value of the named property of the given bean.
-	 * 
-	 * @param bean
-	 *            the object
-	 * @param propertyName
-	 *            the name of the property
-	 * @return an observable value tracking the current value of the named
-	 *         property of the given bean
-	 */
-	public static IObservableValue observeValue(Object bean, String propertyName) {
-		return observeValue(Realm.getDefault(), bean, propertyName);
-	}
-
-	/**
-	 * Returns an observable value in the given realm tracking the current value
-	 * of the named property of the given bean.
-	 * 
-	 * @param realm
-	 *            the realm
-	 * @param bean
-	 *            the object
-	 * @param propertyName
-	 *            the name of the property
-	 * @return an observable value tracking the current value of the named
-	 *         property of the given bean
-	 */
-	public static IObservableValue observeValue(Realm realm, Object bean,
-			String propertyName) {
-		PropertyDescriptor descriptor = getPropertyDescriptor(bean.getClass(),
-				propertyName);
-		return new JavaBeanObservableValue(realm, bean, descriptor, null);
-	}
-
-	/**
-	 * Returns an observable map in the default realm tracking the current
-	 * values of the named property for the beans in the given set.
-	 * 
-	 * @param domain
-	 *            the set of bean objects
-	 * @param beanClass
-	 *            the common base type of bean objects that may be in the set
-	 * @param propertyName
-	 *            the name of the property
-	 * @return an observable map tracking the current values of the named
-	 *         property for the beans in the given domain set
-	 */
-	public static IObservableMap observeMap(IObservableSet domain,
-			Class beanClass, String propertyName) {
-		PropertyDescriptor descriptor = getPropertyDescriptor(beanClass,
-				propertyName);
-		return new JavaBeanObservableMap(domain, descriptor);
-	}
-
-	private static PropertyDescriptor getPropertyDescriptor(Class beanClass,
-			String propertyName) {
-		BeanInfo beanInfo;
-		try {
-			beanInfo = Introspector.getBeanInfo(beanClass);
-		} catch (IntrospectionException e) {
-			// cannot introspect, give up
-			return null;
-		}
-		PropertyDescriptor[] propertyDescriptors = beanInfo
-				.getPropertyDescriptors();
-		for (int i = 0; i < propertyDescriptors.length; i++) {
-			PropertyDescriptor descriptor = propertyDescriptors[i];
-			if (descriptor.getName().equals(propertyName)) {
-				return descriptor;
-			}
-		}
-		throw new BindingException(
-				"Could not find property with name " + propertyName + " in class " + beanClass); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * Returns an array of observable maps in the default realm tracking the
-	 * current values of the named propertys for the beans in the given set.
-	 * 
-	 * @param domain
-	 *            the set of objects
-	 * @param beanClass
-	 *            the common base type of objects that may be in the set
-	 * @param propertyNames
-	 *            the array of property names
-	 * @return an array of observable maps tracking the current values of the
-	 *         named propertys for the beans in the given domain set
-	 */
-	public static IObservableMap[] observeMaps(IObservableSet domain,
-			Class beanClass, String[] propertyNames) {
-		IObservableMap[] result = new IObservableMap[propertyNames.length];
-		for (int i = 0; i < propertyNames.length; i++) {
-			result[i] = observeMap(domain, beanClass, propertyNames[i]);
-		}
-		return result;
-	}
-
-	/**
-	 * Returns an observable list in the given realm tracking the
-	 * collection-typed named property of the given bean object. The returned
-	 * list is mutable.
-	 * 
-	 * @param realm
-	 *            the realm
-	 * @param bean
-	 *            the object
-	 * @param propertyName
-	 *            the name of the collection-typed property
-	 * @return an observable list tracking the collection-typed named property
-	 *         of the given bean object
-	 * @see #observeList(Realm, Object, String, Class)
-	 */
-	public static IObservableList observeList(Realm realm, Object bean,
-			String propertyName) {
-		return observeList(realm, bean, propertyName, null);
-	}
-
-	/**
-	 * Returns an observable list in the given realm tracking the
-	 * collection-typed named property of the given bean object. The returned
-	 * list is mutable. When an item is added or removed the setter is invoked
-	 * for the list on the parent bean to provide notification to other
-	 * listeners via <code>PropertyChangeEvents</code>. This is done to
-	 * provide the same behavior as is expected from arrays as specified in the
-	 * bean spec in section 7.2.
-	 * 
-	 * @param realm
-	 *            the realm
-	 * @param bean
-	 *            the bean object
-	 * @param propertyName
-	 *            the name of the property
-	 * @param elementType
-	 *            type of the elements in the list. If <code>null</code> and
-	 *            the property is an array the type will be inferred. If
-	 *            <code>null</code> and the property type cannot be inferred
-	 *            element type will be <code>null</code>.
-	 * @return an observable list tracking the collection-typed named property
-	 *         of the given bean object
-	 */
-	public static IObservableList observeList(Realm realm, Object bean,
-			String propertyName, Class elementType) {
-		PropertyDescriptor propertyDescriptor = getPropertyDescriptor(bean
-				.getClass(), propertyName);
-		elementType = getCollectionElementType(elementType, propertyDescriptor);
-
-		return new JavaBeanObservableList(realm, bean, propertyDescriptor,
-				elementType);
-	}
-
-	/**
-	 * Returns an observable set in the given realm tracking the
-	 * collection-typed named property of the given bean object
-	 * 
-	 * @param realm
-	 *            the realm
-	 * @param bean
-	 *            the bean object
-	 * @param propertyName
-	 *            the name of the property
-	 * @return an observable set tracking the collection-typed named property of
-	 *         the given bean object
-	 */
-	public static IObservableSet observeSet(Realm realm, Object bean,
-			String propertyName) {
-		return observeSet(realm, bean, propertyName, null);
-	}
-
-	/**
-	 * Returns a factory for creating obervable values tracking the given
-	 * property of a particular bean object
-	 * 
-	 * @param realm
-	 *            the realm to use
-	 * @param propertyName
-	 *            the name of the property
-	 * @return an observable value factory
-	 */
-	public static IObservableFactory valueFactory(final Realm realm,
-			final String propertyName) {
-		return new IObservableFactory() {
-			public IObservable createObservable(Object target) {
-				return observeValue(realm, target, propertyName);
-			}
-		};
-	}
-
-	/**
-	 * Returns a factory for creating obervable lists tracking the given
-	 * property of a particular bean object
-	 * 
-	 * @param realm
-	 *            the realm to use
-	 * @param propertyName
-	 *            the name of the property
-	 * @param elementType
-	 * @return an observable list factory
-	 */
-	public static IObservableFactory listFactory(final Realm realm,
-			final String propertyName, final Class elementType) {
-		return new IObservableFactory() {
-			public IObservable createObservable(Object target) {
-				return observeList(realm, target, propertyName, elementType);
-			}
-		};
-	}
-
-	/**
-	 * Returns a factory for creating obervable sets tracking the given property
-	 * of a particular bean object
-	 * 
-	 * @param realm
-	 *            the realm to use
-	 * @param propertyName
-	 *            the name of the property
-	 * @return an observable set factory
-	 */
-	public static IObservableFactory setFactory(final Realm realm,
-			final String propertyName) {
-		return new IObservableFactory() {
-			public IObservable createObservable(Object target) {
-				return observeSet(realm, target, propertyName);
-			}
-		};
-	}
-
-	/**
-	 * Helper method for
-	 * <code>MasterDetailObservables.detailValue(master, valueFactory(realm,
-	 propertyName), propertyType)</code>
-	 * 
-	 * @param realm
-	 * @param master
-	 * @param propertyName
-	 * @param propertyType
-	 *            can be <code>null</code>
-	 * @return an observable value that tracks the current value of the named
-	 *         property for the current value of the master observable value
-	 * 
-	 * @see MasterDetailObservables
-	 */
-	public static IObservableValue observeDetailValue(Realm realm,
-			IObservableValue master, String propertyName, Class propertyType) {
-
-		IObservableValue value = MasterDetailObservables.detailValue(master,
-				valueFactory(realm, propertyName), propertyType);
-		BeanObservableValueDecorator decorator = new BeanObservableValueDecorator(
-				value, master, getValueTypePropertyDescriptor(master,
-						propertyName));
-
-		return decorator;
-	}
-
-	/**
-	 * Helper method for
-	 * <code>MasterDetailObservables.detailList(master, listFactory(realm,
-	 propertyName, propertyType), propertyType)</code>
-	 * 
-	 * @param realm
-	 * @param master
-	 * @param propertyName
-	 * @param propertyType
-	 *            can be <code>null</code>
-	 * @return an observable list that tracks the named property for the current
-	 *         value of the master observable value
-	 * 
-	 * @see MasterDetailObservables
-	 */
-	public static IObservableList observeDetailList(Realm realm,
-			IObservableValue master, String propertyName, Class propertyType) {
-		IObservableList observableList = MasterDetailObservables.detailList(
-				master, listFactory(realm, propertyName, propertyType),
-				propertyType);
-		BeanObservableListDecorator decorator = new BeanObservableListDecorator(
-				observableList, master, getValueTypePropertyDescriptor(master,
-						propertyName));
-
-		return decorator;
-	}
-
-	/**
-	 * Helper method for
-	 * <code>MasterDetailObservables.detailSet(master, setFactory(realm,
-	 propertyName), propertyType)</code>
-	 * 
-	 * @param realm
-	 * @param master
-	 * @param propertyName
-	 * @param propertyType
-	 *            can be <code>null</code>
-	 * @return an observable set that tracks the named property for the current
-	 *         value of the master observable value
-	 * 
-	 * @see MasterDetailObservables
-	 */
-	public static IObservableSet observeDetailSet(Realm realm,
-			IObservableValue master, String propertyName, Class propertyType) {
-
-		IObservableSet observableSet = MasterDetailObservables.detailSet(
-				master, setFactory(realm, propertyName, propertyType),
-				propertyType);
-		BeanObservableSetDecorator decorator = new BeanObservableSetDecorator(
-				observableSet, master, getValueTypePropertyDescriptor(master,
-						propertyName));
-
-		return decorator;
-	}
-
-	/**
-	 * @param realm
-	 * @param bean
-	 * @param propertyName
-	 * @param elementType
-	 *            can be <code>null</code>
-	 * @return an observable set that tracks the current value of the named
-	 *         property for given bean object
-	 */
-	public static IObservableSet observeSet(Realm realm, Object bean,
-			String propertyName, Class elementType) {
-		PropertyDescriptor propertyDescriptor = getPropertyDescriptor(bean
-				.getClass(), propertyName);
-		elementType = getCollectionElementType(elementType, propertyDescriptor);
-
-		return new JavaBeanObservableSet(realm, bean, propertyDescriptor,
-				elementType);
-	}
-
-	/**
-	 * @param realm
-	 * @param propertyName
-	 * @param elementType
-	 *            can be <code>null</code>
-	 * @return an observable set factory for creating observable sets
-	 */
-	public static IObservableFactory setFactory(final Realm realm,
-			final String propertyName, final Class elementType) {
-		return new IObservableFactory() {
-			public IObservable createObservable(Object target) {
-				return observeSet(realm, target, propertyName, elementType);
-			}
-		};
-	}
-
-	/**
-	 * @param elementType
-	 *            can be <code>null</code>
-	 * @param propertyDescriptor
-	 * @return type of the items in a collection/array property
-	 */
-	private static Class getCollectionElementType(Class elementType,
-			PropertyDescriptor propertyDescriptor) {
-		if (elementType == null) {
-			Class propertyType = propertyDescriptor.getPropertyType();
-			elementType = propertyType.isArray() ? propertyType
-					.getComponentType() : Object.class;
-		}
-
-		return elementType;
-	}
-
-	/**
-	 * @param observable
-	 * @param propertyName
-	 * @return property descriptor or <code>null</code>
-	 */
-	private static PropertyDescriptor getValueTypePropertyDescriptor(
-			IObservableValue observable, String propertyName) {
-		return (observable.getValueType() != null) ? getPropertyDescriptor(
-				(Class) observable.getValueType(), propertyName) : null;
-	}
-}
diff --git a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/databinding/beans/IBeanObservable.java b/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/databinding/beans/IBeanObservable.java
deleted file mode 100644
index c2545ef..0000000
--- a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/databinding/beans/IBeanObservable.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Brad Reynolds and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Brad Reynolds - initial API and implementation
- *     Brad Reynolds - bug 147515
- ******************************************************************************/
-
-package org.eclipse.core.databinding.beans;
-
-import java.beans.PropertyDescriptor;
-
-import org.eclipse.core.databinding.observable.IObserving;
-
-/**
- * Provides access to details of bean observables.
- * <p>
- * This interface is not meant to be implemented by clients.
- * </p>
- * 
- * @since 3.3
- */
-public interface IBeanObservable extends IObserving {
-	/**
-	 * @return property descriptor of the property being observed,
-	 *         <code>null</code> if the runtime time information was not
-	 *         provided on construction of the observable
-	 */
-	public PropertyDescriptor getPropertyDescriptor();
-}
diff --git a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/databinding/beans/package.html b/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/databinding/beans/package.html
deleted file mode 100644
index 211abba..0000000
--- a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/databinding/beans/package.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-To be written.
-<h2>
-Package Specification</h2>
-<p>
-This package provides classes that can be used to observe objects that conform to the <a href="http://java.sun.com/products/javabeans/docs/spec.html">JavaBean specification</a> for bound properties.</p>
-</body>
-</html>
diff --git a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/BeanObservableListDecorator.java b/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/BeanObservableListDecorator.java
deleted file mode 100644
index fdf1cdf..0000000
--- a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/BeanObservableListDecorator.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Brad Reynolds and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Brad Reynolds - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.core.internal.databinding.internal.beans;
-
-import java.beans.PropertyDescriptor;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-
-import org.eclipse.core.databinding.beans.IBeanObservable;
-import org.eclipse.core.databinding.observable.IChangeListener;
-import org.eclipse.core.databinding.observable.IStaleListener;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.list.IListChangeListener;
-import org.eclipse.core.databinding.observable.list.IObservableList;
-
-/**
- * {@link IBeanObservable} decorator for an {@link IObservableList}.
- * 
- * @since 3.3
- */
-public class BeanObservableListDecorator implements IObservableList,
-		IBeanObservable {
-	private IObservableList delegate;
-	private Object observed;
-	private PropertyDescriptor propertyDescriptor;
-
-	/**
-	 * @param delegate
-	 * @param observed
-	 * @param propertyDescriptor
-	 */
-	public BeanObservableListDecorator(IObservableList delegate,
-			Object observed, PropertyDescriptor propertyDescriptor) {
-
-		this.delegate = delegate;
-		this.observed = observed;
-		this.propertyDescriptor = propertyDescriptor;
-	}
-
-	public void add(int index, Object element) {
-		delegate.add(index, element);
-	}
-
-	public boolean add(Object o) {
-		return delegate.add(o);
-	}
-
-	public boolean addAll(Collection c) {
-		return delegate.addAll(c);
-	}
-
-	public boolean addAll(int index, Collection c) {
-		return delegate.addAll(index, c);
-	}
-
-	public void addChangeListener(IChangeListener listener) {
-		delegate.addChangeListener(listener);
-	}
-
-	public void addListChangeListener(IListChangeListener listener) {
-		delegate.addListChangeListener(listener);
-	}
-
-	public void addStaleListener(IStaleListener listener) {
-		delegate.addStaleListener(listener);
-	}
-
-	public void clear() {
-		delegate.clear();
-	}
-
-	public boolean contains(Object o) {
-		return delegate.contains(o);
-	}
-
-	public boolean containsAll(Collection c) {
-		return delegate.containsAll(c);
-	}
-
-	public void dispose() {
-		delegate.dispose();
-	}
-
-	public boolean equals(Object o) {
-		return delegate.equals(o);
-	}
-
-	public Object get(int index) {
-		return delegate.get(index);
-	}
-
-	public Object getElementType() {
-		return delegate.getElementType();
-	}
-
-	public Realm getRealm() {
-		return delegate.getRealm();
-	}
-
-	public int hashCode() {
-		return delegate.hashCode();
-	}
-
-	public int indexOf(Object o) {
-		return delegate.indexOf(o);
-	}
-
-	public boolean isEmpty() {
-		return delegate.isEmpty();
-	}
-
-	public boolean isStale() {
-		return delegate.isStale();
-	}
-
-	public Iterator iterator() {
-		return delegate.iterator();
-	}
-
-	public int lastIndexOf(Object o) {
-		return delegate.lastIndexOf(o);
-	}
-
-	public ListIterator listIterator() {
-		return delegate.listIterator();
-	}
-
-	public ListIterator listIterator(int index) {
-		return delegate.listIterator(index);
-	}
-
-	public Object remove(int index) {
-		return delegate.remove(index);
-	}
-
-	public boolean remove(Object o) {
-		return delegate.remove(o);
-	}
-
-	public boolean removeAll(Collection c) {
-		return delegate.removeAll(c);
-	}
-
-	public void removeChangeListener(IChangeListener listener) {
-		delegate.removeChangeListener(listener);
-	}
-
-	public void removeListChangeListener(IListChangeListener listener) {
-		delegate.removeListChangeListener(listener);
-	}
-
-	public void removeStaleListener(IStaleListener listener) {
-		delegate.removeStaleListener(listener);
-	}
-
-	public boolean retainAll(Collection c) {
-		return delegate.retainAll(c);
-	}
-
-	public Object set(int index, Object element) {
-		return delegate.set(index, element);
-	}
-
-	public int size() {
-		return delegate.size();
-	}
-
-	public List subList(int fromIndex, int toIndex) {
-		return delegate.subList(fromIndex, toIndex);
-	}
-
-	public Object[] toArray() {
-		return delegate.toArray();
-	}
-
-	public Object[] toArray(Object[] a) {
-		return delegate.toArray(a);
-	}
-
-	/**
-	 * @return list being delegated to
-	 */
-	public IObservableList getDelegate() {
-		return delegate;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.databinding.beans.IBeanObservable#getObserved()
-	 */
-	public Object getObserved() {
-		return observed;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.databinding.beans.IBeanObservable#getPropertyDescriptor()
-	 */
-	public PropertyDescriptor getPropertyDescriptor() {
-		return propertyDescriptor;
-	}
-}
diff --git a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/BeanObservableSetDecorator.java b/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/BeanObservableSetDecorator.java
deleted file mode 100644
index 420b078..0000000
--- a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/BeanObservableSetDecorator.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Brad Reynolds and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Brad Reynolds - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.core.internal.databinding.internal.beans;
-
-import java.beans.PropertyDescriptor;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.core.databinding.beans.IBeanObservable;
-import org.eclipse.core.databinding.observable.IChangeListener;
-import org.eclipse.core.databinding.observable.IStaleListener;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.set.IObservableSet;
-import org.eclipse.core.databinding.observable.set.ISetChangeListener;
-
-/**
- * {@link IBeanObservable} decorator for an {@link IObservableSet}.
- * 
- * @since 3.3
- */
-public class BeanObservableSetDecorator implements IObservableSet, IBeanObservable {
-	private IObservableSet delegate;
-	private Object observed;
-	private PropertyDescriptor propertyDescriptor;
-
-	/**
-	 * @param delegate 
-	 * @param observed 
-	 * @param propertyDescriptor
-	 */
-	public BeanObservableSetDecorator(IObservableSet delegate,
-			Object observed,
-			PropertyDescriptor propertyDescriptor) {
-		
-		this.delegate = delegate;
-		this.observed = observed;
-		this.propertyDescriptor = propertyDescriptor;
-	}
-
-	public boolean add(Object o) {
-		return delegate.add(o);
-	}
-
-	public boolean addAll(Collection c) {
-		return delegate.addAll(c);
-	}
-
-	public void addChangeListener(IChangeListener listener) {
-		delegate.addChangeListener(listener);
-	}
-
-	public void addSetChangeListener(ISetChangeListener listener) {
-		delegate.addSetChangeListener(listener);
-	}
-
-	public void addStaleListener(IStaleListener listener) {
-		delegate.addStaleListener(listener);
-	}
-
-	public void clear() {
-		delegate.clear();
-	}
-
-	public boolean contains(Object o) {
-		return delegate.contains(o);
-	}
-
-	public boolean containsAll(Collection c) {
-		return delegate.containsAll(c);
-	}
-
-	public void dispose() {
-		delegate.dispose();
-	}
-
-	public boolean equals(Object o) {
-		return delegate.equals(o);
-	}
-
-	public Object getElementType() {
-		return delegate.getElementType();
-	}
-
-	public Realm getRealm() {
-		return delegate.getRealm();
-	}
-
-	public int hashCode() {
-		return delegate.hashCode();
-	}
-
-	public boolean isEmpty() {
-		return delegate.isEmpty();
-	}
-
-	public boolean isStale() {
-		return delegate.isStale();
-	}
-
-	public Iterator iterator() {
-		return delegate.iterator();
-	}
-
-	public boolean remove(Object o) {
-		return delegate.remove(o);
-	}
-
-	public boolean removeAll(Collection c) {
-		return delegate.removeAll(c);
-	}
-
-	public void removeChangeListener(IChangeListener listener) {
-		delegate.removeChangeListener(listener);
-	}
-
-	public void removeSetChangeListener(ISetChangeListener listener) {
-		delegate.removeSetChangeListener(listener);
-	}
-
-	public void removeStaleListener(IStaleListener listener) {
-		delegate.removeStaleListener(listener);
-	}
-
-	public boolean retainAll(Collection c) {
-		return delegate.retainAll(c);
-	}
-
-	public int size() {
-		return delegate.size();
-	}
-
-	public Object[] toArray() {
-		return delegate.toArray();
-	}
-
-	public Object[] toArray(Object[] a) {
-		return delegate.toArray(a);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.databinding.beans.IBeanObservable#getObserved()
-	 */
-	public Object getObserved() {
-		return observed;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.databinding.beans.IBeanObservable#getPropertyDescriptor()
-	 */
-	public PropertyDescriptor getPropertyDescriptor() {
-		return propertyDescriptor;
-	}
-
-	/**
-	 * @return the wrapped set
-	 */
-	public IObservableSet getDelegate() {
-		return delegate;
-	}	
-}
diff --git a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/BeanObservableValueDecorator.java b/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/BeanObservableValueDecorator.java
deleted file mode 100644
index c64e6ca..0000000
--- a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/BeanObservableValueDecorator.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Brad Reynolds and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Brad Reynolds - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.core.internal.databinding.internal.beans;
-
-import java.beans.PropertyDescriptor;
-
-import org.eclipse.core.databinding.beans.IBeanObservable;
-import org.eclipse.core.databinding.observable.IChangeListener;
-import org.eclipse.core.databinding.observable.IStaleListener;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.core.databinding.observable.value.IValueChangeListener;
-
-/**
- * {@link IBeanObservable} decorator for an {@link IObservableValue}.
- * 
- * @since 3.3
- */
-public class BeanObservableValueDecorator implements IObservableValue,
-		IBeanObservable {
-	private final IObservableValue delegate;
-	private final PropertyDescriptor descriptor;
-	private final IObservableValue observed;
-
-	/**
-	 * @param delegate
-	 * @param observed 
-	 * @param descriptor
-	 */
-	public BeanObservableValueDecorator(IObservableValue delegate, IObservableValue observed,
-			PropertyDescriptor descriptor) {
-		this.delegate = delegate;
-		this.observed = observed;
-		this.descriptor = descriptor;
-	}
-
-	public void addChangeListener(IChangeListener listener) {
-		delegate.addChangeListener(listener);
-	}
-
-	public void addStaleListener(IStaleListener listener) {
-		delegate.addStaleListener(listener);
-	}
-
-	public void addValueChangeListener(IValueChangeListener listener) {
-		delegate.addValueChangeListener(listener);
-	}
-
-	public void dispose() {
-		delegate.dispose();
-	}
-	
-	public boolean equals(Object obj) {
-		return delegate.equals(obj);
-	}
-
-	public Realm getRealm() {
-		return delegate.getRealm();
-	}
-
-	public Object getValue() {
-		return delegate.getValue();
-	}
-
-	public Object getValueType() {
-		return delegate.getValueType();
-	}
-	
-	public int hashCode() {
-		return delegate.hashCode();
-	}
-
-	public boolean isStale() {
-		return delegate.isStale();
-	}
-
-	public void removeChangeListener(IChangeListener listener) {
-		delegate.removeChangeListener(listener);
-	}
-
-	public void removeStaleListener(IStaleListener listener) {
-		delegate.removeStaleListener(listener);
-	}
-
-	public void removeValueChangeListener(IValueChangeListener listener) {
-		delegate.removeValueChangeListener(listener);
-	}
-
-	public void setValue(Object value) {
-		delegate.setValue(value);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.databinding.beans.IBeanObservable#getObserved()
-	 */
-	public Object getObserved() {
-		return observed.getValue();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.databinding.beans.IBeanObservable#getPropertyDescriptor()
-	 */
-	public PropertyDescriptor getPropertyDescriptor() {
-		return descriptor;
-	}
-	
-	/**
-	 * @return observable value delegate
-	 */
-	public IObservableValue getDelegate() {
-		return delegate;
-	}
-}
diff --git a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/IdentityWrapper.java b/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/IdentityWrapper.java
deleted file mode 100644
index 491f9ed..0000000
--- a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/IdentityWrapper.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Daniel Kruegler - bug 137435
- ******************************************************************************/
-
-package org.eclipse.core.internal.databinding.internal.beans;
-
-/**
- * Used for wrapping objects that define their own implementations of equals()
- * and hashCode() when putting them in sets or hashmaps to ensure identity
- * comparison.
- * 
- * @since 1.0
- * 
- */
-public class IdentityWrapper {
-	final Object o;
-
-	/**
-	 * @param o
-	 */
-	public IdentityWrapper(Object o) {
-		this.o = o;
-	}
-	
-	/**
-	 * @return the unwrapped object
-	 */
-	public Object unwrap() {
-		return o;
-	}
-
-	public boolean equals(Object obj) {
-		if (obj == null || obj.getClass() != IdentityWrapper.class) {
-			return false;
-		}
-		return o == ((IdentityWrapper) obj).o;
-	}
-
-	public int hashCode() {
-		return System.identityHashCode(o);
-	}
-}
diff --git a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/JavaBeanObservableList.java b/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/JavaBeanObservableList.java
deleted file mode 100644
index b510f3a..0000000
--- a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/JavaBeanObservableList.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Brad Reynolds - bug 171616
- *******************************************************************************/
-
-package org.eclipse.core.internal.databinding.internal.beans;
-
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyDescriptor;
-import java.lang.reflect.Array;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.databinding.BindingException;
-import org.eclipse.core.databinding.beans.IBeanObservable;
-import org.eclipse.core.databinding.observable.Diffs;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.list.ListDiffEntry;
-import org.eclipse.core.databinding.observable.list.ObservableList;
-
-/**
- * @since 1.0
- * 
- */
-public class JavaBeanObservableList extends ObservableList implements
-		IBeanObservable {
-
-	private final Object object;
-
-	private PropertyChangeListener collectionListener = new PropertyChangeListener() {
-		public void propertyChange(java.beans.PropertyChangeEvent event) {
-			if (!updating) {
-				updateWrappedList(Arrays.asList(getValues()));
-			}
-		}
-	};
-
-	private boolean updating = false;
-
-	private PropertyDescriptor descriptor;
-
-	private ListenerSupport collectionListenSupport;
-
-	/**
-	 * @param realm
-	 * @param object
-	 * @param descriptor
-	 * @param elementType
-	 */
-	public JavaBeanObservableList(Realm realm, Object object,
-			PropertyDescriptor descriptor, Class elementType) {
-		super(realm, new ArrayList(), elementType);
-		this.object = object;
-		this.descriptor = descriptor;
-		this.collectionListenSupport = new ListenerSupport(collectionListener,
-				descriptor.getName());
-
-		// initialize list without firing events
-		wrappedList.addAll(Arrays.asList(getValues()));
-	}
-
-	protected void firstListenerAdded() {
-		collectionListenSupport.hookListener(this.object);
-	}
-
-	protected void lastListenerRemoved() {
-		if (collectionListenSupport != null) {
-			collectionListenSupport.dispose();
-		}
-	}
-
-	public void dispose() {
-		super.dispose();
-		lastListenerRemoved();
-	}
-
-	private Object primGetValues() {
-		Exception ex = null;
-		try {
-			Method readMethod = descriptor.getReadMethod();
-			if (!readMethod.isAccessible()) {
-				readMethod.setAccessible(true);
-			}
-			return readMethod.invoke(object, new Object[0]);
-		} catch (IllegalArgumentException e) {
-			ex = e;
-		} catch (IllegalAccessException e) {
-			ex = e;
-		} catch (InvocationTargetException e) {
-			ex = e;
-		}
-		throw new BindingException("Could not read collection values", ex); //$NON-NLS-1$
-	}
-
-	private Object[] getValues() {
-		Object[] values = null;
-
-		Object result = primGetValues();
-		if (descriptor.getPropertyType().isArray())
-			values = (Object[]) result;
-		else {
-			// TODO add jUnit for POJO (var. SettableValue) collections
-			Collection list = (Collection) result;
-			if (list != null) {
-				values = list.toArray();
-			} else {
-				values = new Object[] {};
-			}
-		}
-		return values;
-	}
-
-	public Object getObserved() {
-		return object;
-	}
-
-	public PropertyDescriptor getPropertyDescriptor() {
-		return descriptor;
-	}
-
-	private void setValues() {
-		if (descriptor.getPropertyType().isArray()) {
-			Class componentType = descriptor.getPropertyType()
-					.getComponentType();
-			Object[] newArray = (Object[]) Array.newInstance(componentType,
-					wrappedList.size());
-			wrappedList.toArray(newArray);
-			primSetValues(newArray);
-		} else {
-			// assume that it is a java.util.List
-			primSetValues(new ArrayList(wrappedList));
-		}
-	}
-
-	private void primSetValues(Object newValue) {
-		Exception ex = null;
-		try {
-			Method writeMethod = descriptor.getWriteMethod();
-			if (!writeMethod.isAccessible()) {
-				writeMethod.setAccessible(true);
-			}
-			writeMethod.invoke(object, new Object[] { newValue });
-			return;
-		} catch (IllegalArgumentException e) {
-			ex = e;
-		} catch (IllegalAccessException e) {
-			ex = e;
-		} catch (InvocationTargetException e) {
-			ex = e;
-		}
-		throw new BindingException("Could not write collection values", ex); //$NON-NLS-1$
-	}
-
-	public Object set(int index, Object element) {
-		getterCalled();
-		updating = true;
-		try {
-			Object oldElement = wrappedList.set(index, element);
-			setValues();
-			fireListChange(Diffs.createListDiff(Diffs.createListDiffEntry(
-					index, true, element), Diffs.createListDiffEntry(index + 1,
-					false, oldElement)));
-			return oldElement;
-		} finally {
-			updating = false;
-		}
-	}
-
-	public Object remove(int index) {
-		getterCalled();
-		updating = true;
-		try {
-			Object oldElement = wrappedList.remove(index);
-			setValues();
-			fireListChange(Diffs.createListDiff(Diffs.createListDiffEntry(
-					index, false, oldElement)));
-			return oldElement;
-		} finally {
-			updating = false;
-		}
-	}
-
-	public boolean add(Object element) {
-		updating = true;
-		try {
-			int index = wrappedList.size();
-			boolean result = wrappedList.add(element);
-			setValues();
-			fireListChange(Diffs.createListDiff(Diffs.createListDiffEntry(
-					index, true, element)));
-			return result;
-		} finally {
-			updating = false;
-		}
-	}
-
-	public void add(int index, Object element) {
-		updating = true;
-		try {
-			wrappedList.add(index, element);
-			setValues();
-			fireListChange(Diffs.createListDiff(Diffs.createListDiffEntry(
-					index, true, element)));
-		} finally {
-			updating = false;
-		}
-	}
-
-	public boolean addAll(Collection c) {
-		if (c.isEmpty()) {
-			return false;
-		}
-		updating = true;
-		try {
-			int index = wrappedList.size();
-			boolean result = wrappedList.addAll(c);
-			setValues();
-			ListDiffEntry[] entries = new ListDiffEntry[c.size()];
-			int i = 0;
-			for (Iterator it = c.iterator(); it.hasNext();) {
-				Object o = it.next();
-				entries[i++] = Diffs.createListDiffEntry(index++, true, o);
-			}
-			fireListChange(Diffs.createListDiff(entries));
-			return result;
-		} finally {
-			updating = false;
-		}
-	}
-
-	public boolean addAll(int index, Collection c) {
-		if (c.isEmpty()) {
-			return false;
-		}
-		updating = true;
-		try {
-			boolean result = wrappedList.addAll(index, c);
-			setValues();
-			ListDiffEntry[] entries = new ListDiffEntry[c.size()];
-			int i = 0;
-			for (Iterator it = c.iterator(); it.hasNext();) {
-				Object o = it.next();
-				entries[i++] = Diffs.createListDiffEntry(index++, true, o);
-			}
-			fireListChange(Diffs.createListDiff(entries));
-			return result;
-		} finally {
-			updating = false;
-		}
-	}
-
-	public boolean remove(Object o) {
-		getterCalled();
-		int index = wrappedList.indexOf(o);
-		if (index == -1) {
-			return false;
-		}
-		updating = true;
-		try {
-			Object oldElement = wrappedList.remove(index);
-			setValues();
-			fireListChange(Diffs.createListDiff(Diffs.createListDiffEntry(
-					index, false, oldElement)));
-			return true;
-		} finally {
-			updating = false;
-		}
-	}
-
-	public boolean removeAll(Collection c) {
-		getterCalled();
-		boolean changed = false;
-		updating = true;
-		try {
-			List diffEntries = new ArrayList();
-			for (Iterator it = c.iterator(); it.hasNext();) {
-				Object o = it.next();
-				int index = wrappedList.indexOf(o);
-				if (index != -1) {
-					changed = true;
-					Object oldElement = wrappedList.remove(index);
-					diffEntries.add(Diffs.createListDiffEntry(index, false,
-							oldElement));
-				}
-			}
-			setValues();
-			fireListChange(Diffs.createListDiff((ListDiffEntry[]) diffEntries
-					.toArray(new ListDiffEntry[diffEntries.size()])));
-			return changed;
-		} finally {
-			updating = false;
-		}
-	}
-
-	public boolean retainAll(Collection c) {
-		getterCalled();
-		boolean changed = false;
-		updating = true;
-		try {
-			List diffEntries = new ArrayList();
-			int index = 0;
-			for (Iterator it = wrappedList.iterator(); it.hasNext();) {
-				Object o = it.next();
-				boolean retain = c.contains(o);
-				if (retain) {
-					index++;
-				} else {
-					changed = true;
-					it.remove();
-					diffEntries.add(Diffs.createListDiffEntry(index, false, o));
-				}
-			}
-			setValues();
-			fireListChange(Diffs.createListDiff((ListDiffEntry[]) diffEntries
-					.toArray(new ListDiffEntry[diffEntries.size()])));
-			return changed;
-		} finally {
-			updating = false;
-		}
-	}
-
-	public void clear() {
-		updating = true;
-		try {
-			List diffEntries = new ArrayList();
-			for (Iterator it = wrappedList.iterator(); it.hasNext();) {
-				Object o = it.next();
-				diffEntries.add(Diffs.createListDiffEntry(0, false, o));
-			}
-			setValues();
-			fireListChange(Diffs.createListDiff((ListDiffEntry[]) diffEntries
-					.toArray(new ListDiffEntry[diffEntries.size()])));
-		} finally {
-			updating = false;
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/JavaBeanObservableMap.java b/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/JavaBeanObservableMap.java
deleted file mode 100644
index e8dfb77..0000000
--- a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/JavaBeanObservableMap.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Brad Reynolds - bug 171616
- *******************************************************************************/
-
-package org.eclipse.core.internal.databinding.internal.beans;
-
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyDescriptor;
-import java.lang.reflect.Method;
-
-import org.eclipse.core.databinding.beans.IBeanObservable;
-import org.eclipse.core.databinding.observable.Diffs;
-import org.eclipse.core.databinding.observable.map.ComputedObservableMap;
-import org.eclipse.core.databinding.observable.set.IObservableSet;
-import org.eclipse.core.databinding.util.Policy;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * @since 1.0
- * 
- */
-public class JavaBeanObservableMap extends ComputedObservableMap implements IBeanObservable {
-
-	private PropertyDescriptor propertyDescriptor;
-	
-	private PropertyChangeListener elementListener = new PropertyChangeListener() {
-		public void propertyChange(final java.beans.PropertyChangeEvent event) {
-			if (!updating) {
-				fireMapChange(Diffs.createMapDiffSingleChange(
-						event.getSource(), event.getOldValue(), event
-								.getNewValue()));
-			}
-		}
-	};
-
-	private ListenerSupport listenerSupport;
-
-	private boolean updating = false;
-
-	/**
-	 * @param domain
-	 * @param propertyDescriptor
-	 */
-	public JavaBeanObservableMap(IObservableSet domain,
-			PropertyDescriptor propertyDescriptor) {
-		super(domain);
-		
-		this.propertyDescriptor = propertyDescriptor;
-		this.listenerSupport = new ListenerSupport(elementListener,
-				propertyDescriptor.getName());
-		init();
-	}
-
-	protected void hookListener(Object domainElement) {
-		listenerSupport.hookListener(domainElement);
-	}
-
-	protected void unhookListener(Object domainElement) {
-		listenerSupport.unhookListener(domainElement);
-	}
-
-	protected Object doGet(Object key) {
-		try {
-			Method readMethod = propertyDescriptor.getReadMethod();
-			if (!readMethod.isAccessible()) {
-				readMethod.setAccessible(true);
-			}
-			return readMethod.invoke(key, new Object[0]);
-		} catch (Exception e) {
-			Policy.getLog().log(
-					new Status(IStatus.ERROR, Policy.JFACE_DATABINDING,
-							IStatus.ERROR, "cannot get value", e)); //$NON-NLS-1$
-			throw new RuntimeException(e);
-		}
-	}
-
-	protected Object doPut(Object key, Object value) {
-		try {
-			Object oldValue = get(key);
-			propertyDescriptor.getWriteMethod().invoke(key,
-					new Object[] { value });
-			keySet().add(key);
-			return oldValue;
-		} catch (Exception e) {
-			Policy.getLog().log(
-					new Status(IStatus.ERROR, Policy.JFACE_DATABINDING,
-							IStatus.ERROR, "cannot set value", e)); //$NON-NLS-1$
-			throw new RuntimeException(e);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.databinding.beans.IBeanObservable#getObserved()
-	 */
-	public Object getObserved() {
-		return keySet();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.databinding.beans.IBeanObservable#getPropertyDescriptor()
-	 */
-	public PropertyDescriptor getPropertyDescriptor() {
-		return propertyDescriptor;
-	}
-}
diff --git a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/JavaBeanObservableSet.java b/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/JavaBeanObservableSet.java
deleted file mode 100644
index d81213d..0000000
--- a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/JavaBeanObservableSet.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Brad Reynolds - bug 171616
- *******************************************************************************/
-
-package org.eclipse.core.internal.databinding.internal.beans;
-
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyDescriptor;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.databinding.beans.IBeanObservable;
-import org.eclipse.core.databinding.observable.Diffs;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.set.ObservableSet;
-import org.eclipse.core.runtime.Assert;
-
-/**
- * @since 1.0
- * 
- */
-public class JavaBeanObservableSet extends ObservableSet implements IBeanObservable {
-
-	private final Object object;
-
-	private PropertyChangeListener collectionListener = new PropertyChangeListener() {
-		public void propertyChange(java.beans.PropertyChangeEvent event) {
-			if (!updating) {
-					Set newElements = new HashSet(Arrays.asList(getValues()));
-					Set addedElements = new HashSet(newElements);
-					Set removedElements = new HashSet(wrappedSet);
-					// remove all new elements from old elements to compute the
-					// removed elements
-					removedElements.removeAll(newElements);
-					addedElements.removeAll(wrappedSet);
-					wrappedSet = newElements;
-					fireSetChange(Diffs.createSetDiff(addedElements,
-							removedElements));
-			}
-		}
-	};
-
-	private boolean updating = false;
-
-	private PropertyDescriptor descriptor;
-
-	private ListenerSupport collectionListenSupport;
-
-	/**
-	 * @param realm 
-	 * @param object
-	 * @param descriptor
-	 * @param elementType
-	 */
-	public JavaBeanObservableSet(Realm realm, Object object, PropertyDescriptor descriptor,
-			Class elementType) {
-		super(realm, new HashSet(), elementType);
-		this.object = object;
-		this.descriptor = descriptor;
-		this.collectionListenSupport = new ListenerSupport(collectionListener, descriptor.getName());
-		
-		wrappedSet.addAll(Arrays.asList(getValues()));
-	}
-
-	protected void firstListenerAdded() {
-		collectionListenSupport.hookListener(this.object);
-	}
-
-	protected void lastListenerRemoved() {
-		if (collectionListenSupport != null) {
-			collectionListenSupport.dispose();
-		}
-	}
-
-	private Object primGetValues() {
-		try {
-			Method readMethod = descriptor.getReadMethod();
-			if (!readMethod.isAccessible()) {
-				readMethod.setAccessible(true);
-			}
-			return readMethod.invoke(object, new Object[0]);
-		} catch (IllegalArgumentException e) {
-		} catch (IllegalAccessException e) {
-		} catch (InvocationTargetException e) {
-		}
-		Assert.isTrue(false, "Could not read collection values"); //$NON-NLS-1$
-		return null;
-	}
-
-	private Object[] getValues() {
-		Object[] values = null;
-
-		Object result = primGetValues();
-		if (descriptor.getPropertyType().isArray())
-			values = (Object[]) result;
-		else {
-			// TODO add jUnit for POJO (var. SettableValue) collections
-			Collection list = (Collection) result;
-			if (list != null) {
-				values = list.toArray();
-			} else {
-				values = new Object[] {};
-			}
-		}
-		return values;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.databinding.beans.IBeanObservable#getObserved()
-	 */
-	public Object getObserved() {
-		return object;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.databinding.beans.IBeanObservable#getPropertyDescriptor()
-	 */
-	public PropertyDescriptor getPropertyDescriptor() {
-		return descriptor;
-	}
-
-}
diff --git a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/JavaBeanObservableValue.java b/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/JavaBeanObservableValue.java
deleted file mode 100644
index 12131da..0000000
--- a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/JavaBeanObservableValue.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Brad Reynolds - bug 164653
- *     Brad Reynolds - bug 164134, 171616
- *******************************************************************************/
-package org.eclipse.core.internal.databinding.internal.beans;
-
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyDescriptor;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.eclipse.core.databinding.BindingException;
-import org.eclipse.core.databinding.beans.BeansObservables;
-import org.eclipse.core.databinding.beans.IBeanObservable;
-import org.eclipse.core.databinding.observable.Diffs;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.value.AbstractObservableValue;
-import org.eclipse.core.databinding.observable.value.ValueDiff;
-import org.eclipse.core.databinding.util.Policy;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * @since 1.0
- * 
- */
-public class JavaBeanObservableValue extends AbstractObservableValue implements IBeanObservable {
-	private final Object object;
-	private boolean updating = false;
-
-	private final PropertyDescriptor propertyDescriptor;
-	private final Class overrideType;
-	private ListenerSupport listenerSupport;
-
-	/**
-	 * @param realm
-	 * @param object
-	 * @param descriptor
-	 * @param overrideType
-	 */
-	public JavaBeanObservableValue(Realm realm, Object object,
-			PropertyDescriptor descriptor, Class overrideType) {
-		super(realm);
-		this.object = object;
-		this.propertyDescriptor = descriptor;
-		this.overrideType = overrideType;
-	}
-
-	protected void firstListenerAdded() {
-		PropertyChangeListener listener = new PropertyChangeListener() {
-			public void propertyChange(java.beans.PropertyChangeEvent event) {
-				if (!updating) {
-					final ValueDiff diff = Diffs.createValueDiff(event.getOldValue(),
-											event.getNewValue());
-					getRealm().exec(new Runnable(){
-						public void run() {
-							fireValueChange(diff);
-						}});
-				}
-			}
-		};
-		
-		if (listenerSupport == null) {
-			listenerSupport = new ListenerSupport(listener, propertyDescriptor.getName());
-		}
-		
-		listenerSupport.hookListener(object);
-	}
-
-	public void doSetValue(Object value) {
-		updating = true;
-		try {
-			Object oldValue = doGetValue();
-			Method writeMethod = propertyDescriptor.getWriteMethod();
-			if (!writeMethod.isAccessible()) {
-				writeMethod.setAccessible(true);
-			}
-			writeMethod.invoke(object, new Object[] { value });
-			fireValueChange(Diffs.createValueDiff(oldValue, doGetValue()));
-		} catch (InvocationTargetException e) {
-			/*
-			 * InvocationTargetException wraps any exception thrown by the
-			 * invoked method.
-			 */
-			throw new RuntimeException(e.getCause());
-		} catch (Exception e) {
-			if (BeansObservables.DEBUG) {
-				Policy
-						.getLog()
-						.log(
-								new Status(
-										IStatus.WARNING,
-										Policy.JFACE_DATABINDING,
-										IStatus.OK,
-										"Could not change value of " + object + "." + propertyDescriptor.getName(), e)); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		} finally {
-			updating = false;
-		}
-	}
-
-	public Object doGetValue() {
-		try {
-			Method readMethod = propertyDescriptor.getReadMethod();
-			if (readMethod == null) {
-				throw new BindingException(propertyDescriptor.getName()
-						+ " property does not have a read method."); //$NON-NLS-1$
-			}
-			if (!readMethod.isAccessible()) {
-				readMethod.setAccessible(true);
-			}
-			return readMethod.invoke(object, null);
-		} catch (InvocationTargetException e) {
-			/*
-			 * InvocationTargetException wraps any exception thrown by the
-			 * invoked method.
-			 */
-			throw new RuntimeException(e.getCause());
-		} catch (Exception e) {
-			if (BeansObservables.DEBUG) {
-				Policy
-						.getLog()
-						.log(
-								new Status(
-										IStatus.WARNING,
-										Policy.JFACE_DATABINDING,
-										IStatus.OK,
-										"Could not read value of " + object + "." + propertyDescriptor.getName(), e)); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			return null;
-		}
-	}
-
-	protected void lastListenerRemoved() {
-		unhookListener();
-	}
-
-	private void unhookListener() {
-		if (listenerSupport != null) {
-			listenerSupport.dispose();
-		}
-	}
-
-	public Object getValueType() {
-		Class type = propertyDescriptor.getPropertyType();
-		if (type == Object.class && overrideType != null)
-			type = overrideType;
-		return type;
-	}
-
-	public Object getObserved() {
-		return object;
-	}
-
-	public PropertyDescriptor getPropertyDescriptor() {
-		return propertyDescriptor;
-	}
-
-	public synchronized void dispose() {
-		unhookListener();
-		super.dispose();
-	}
-}
diff --git a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/ListenerSupport.java b/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/ListenerSupport.java
deleted file mode 100644
index 8144891..0000000
--- a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/ListenerSupport.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.databinding.internal.beans;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.core.databinding.beans.BeansObservables;
-import org.eclipse.core.databinding.util.Policy;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * This is a helper that will hook up and listen for <code>PropertyChangeEvent</code> events
- * for a set of target JavaBeans
- * 
- * @since 1.0
- */
-public class ListenerSupport {
-
-	private Set elementsListenedTo = new HashSet();
-	
-	private PropertyChangeListener listener;
-
-	private String propertyName;
-
-	/**
-	 * Constructs a new instance.
-	 * 
-	 * @param listener is the callback that will be called
-	 * 		when a <code>PropertyChangeEvent</code> is fired on any
-	 * 		of the target objects.  Will only receive change events 
-	 * 		when the provided <code>propertyName</code> changes.
-	 * @param propertyName
-	 */
-	public ListenerSupport(final PropertyChangeListener listener,
-			final String propertyName) {
-		Assert.isNotNull(listener);
-		Assert.isNotNull(propertyName);
-
-		this.propertyName = propertyName;
-		this.listener = new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent evt) {
-				if (propertyName.equals(evt.getPropertyName())) {
-					listener.propertyChange(evt);
-				}
-			}
-		};
-	}
-
-	/**
-	 * Start listen to target (if it supports the JavaBean property change listener pattern)
-	 * 
-	 * @param target
-	 */
-	public void hookListener(Object target) {
-		if (processListener(
-				"addPropertyChangeListener", "Could not attach listener to ", target)) { //$NON-NLS-1$ //$NON-NLS-2$
-			elementsListenedTo.add(new IdentityWrapper(target));
-		}
-	}
-		
-	/**
-	 * Add listeners for new targets (those this instance of<code>ListenerSupport</code> does not 
-	 * already listen to),
-	 * Stop to listen to those object that this instance listen to and is one of the object in targets 
-	 * 
-	 * @param targets 
-	 */
-	public void setHookTargets(Object[] targets) {		
-		Set elementsToUnhook = new HashSet(elementsListenedTo);
-		if (targets!=null) {
-			for (int i = 0; i < targets.length; i++) {
-				Object newValue = targets[i];
-				IdentityWrapper identityWrapper = new IdentityWrapper(newValue);
-				if(!elementsToUnhook.remove(identityWrapper)) 				
-					hookListener(newValue);
-			}
-		}
-			
-		for (Iterator it = elementsToUnhook.iterator(); it.hasNext();) {
-			Object o = it.next();
-			if (o.getClass()!=IdentityWrapper.class)
-				o = new IdentityWrapper(o);
-			elementsListenedTo.remove(o);
-			unhookListener(o);
-		}							
-	}
-	
-	/**
-	 * Stop listen to target
-	 * 
-	 * @param target
-	 */
-	public void unhookListener(Object target) {
-		if (target.getClass() == IdentityWrapper.class)
-			target = ((IdentityWrapper) target).unwrap();
-
-		if (processListener(
-				"removePropertyChangeListener", "Cound not remove listener from ", target)) { //$NON-NLS-1$//$NON-NLS-2$
-			elementsListenedTo.remove(new IdentityWrapper(target));
-		}
-	}
-	
-	
-	/**
-	 * 
-	 */
-	public void dispose() {
-		if (elementsListenedTo!=null) {
-			Object[] targets = elementsListenedTo.toArray();		
-			for (int i = 0; i < targets.length; i++) {		
-				unhookListener(targets[i]);
-			}			
-			elementsListenedTo=null;
-			listener=null;
-		}
-	}
-	
-	/**
-	 * @return elements that were registred to
-	 */
-	public Object[] getHookedTargets() {
-		Object[] targets = null;
-		if (elementsListenedTo!=null && elementsListenedTo.size()>0) {
-			Object[] identityList = elementsListenedTo.toArray();
-			targets = new Object[identityList.length];
-			for (int i = 0; i < identityList.length; i++) 
-				targets[i]=((IdentityWrapper)identityList[i]).unwrap();							
-		}
-		return targets;
-	}
-
-	/**
-	 * Invokes the method for the provided <code>methodName</code> attempting
-	 * to first use the method with the property name and then the unnamed
-	 * version.
-	 * 
-	 * @param methodName
-	 *            either addPropertyChangeListener or
-	 *            removePropertyChangeListener
-	 * @param message
-	 *            string that will be prefixed to the target in an error message
-	 * @param target
-	 *            object to invoke the method on
-	 * @return <code>true</code> if the method was invoked successfully
-	 */
-	private boolean processListener(String methodName, String message,
-			Object target) {
-		Method method = null;
-		Object[] parameters = null;
-
-		try {
-			try {
-				method = target.getClass().getMethod(
-						methodName,
-						new Class[] { String.class,
-								PropertyChangeListener.class });
-
-				parameters = new Object[] { propertyName, listener };
-			} catch (NoSuchMethodException e) {
-				method = target.getClass().getMethod(methodName,
-						new Class[] { PropertyChangeListener.class });
-
-				parameters = new Object[] { listener };
-			}
-		} catch (SecurityException e) {
-			// ignore
-		} catch (NoSuchMethodException e) {
-			log(IStatus.WARNING, message + target, e);
-		}
-
-		if (method != null) {
-			if (!method.isAccessible()) {
-				method.setAccessible(true);
-			}
-			try {
-				method.invoke(target, parameters);
-				return true;
-			} catch (IllegalArgumentException e) {
-				log(IStatus.WARNING, message + target, e);
-			} catch (IllegalAccessException e) {
-				log(IStatus.WARNING, message + target, e);
-			} catch (InvocationTargetException e) {
-				log(IStatus.WARNING, message + target, e);
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Logs a message to the Data Binding logger.
-	 */
-	private void log(int severity, String message, Throwable throwable) {
-		if (BeansObservables.DEBUG) {
-			Policy.getLog().log(
-					new Status(severity, Policy.JFACE_DATABINDING, IStatus.OK,
-							message, throwable));
-		}
-	}
-}
diff --git a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/package.html b/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/package.html
deleted file mode 100644
index d720e2b..0000000
--- a/bundles/org.eclipse.core.databinding.beans/src/org/eclipse/core/internal/databinding/internal/beans/package.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-To be written.
-<h2>
-Package Specification</h2>
-<p>
-This package provides classes that can be used to ...</p>
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.browser/.classpath b/bundles/org.eclipse.ui.browser/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.ui.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.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.ui.browser/.cvsignore b/bundles/org.eclipse.ui.browser/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.ui.browser/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/.options b/bundles/org.eclipse.ui.browser/.options
deleted file mode 100644
index 3481178..0000000
--- a/bundles/org.eclipse.ui.browser/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-# Debugging options for the org.eclipse.ui.browser plugin.
-
-# Turn on debugging for the org.eclipse.ui.browser plugin.
-org.eclipse.ui.browser/debug=false
diff --git a/bundles/org.eclipse.ui.browser/.project b/bundles/org.eclipse.ui.browser/.project
deleted file mode 100644
index 5f58575..0000000
--- a/bundles/org.eclipse.ui.browser/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.browser</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.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.ui.browser/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.ui.browser/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 849eb8b..0000000
--- a/bundles/org.eclipse.ui.browser/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Mar 31 17:23:30 EST 2005
-eclipse.preferences.version=1
-encoding//src/org/eclipse/ui/internal/browser/Messages.properties=8859_1
diff --git a/bundles/org.eclipse.ui.browser/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.browser/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 786358a..0000000
--- a/bundles/org.eclipse.ui.browser/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,24 +0,0 @@
-#Tue May 09 14:44:18 EDT 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/bundles/org.eclipse.ui.browser/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.ui.browser/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 9571ac6..0000000
--- a/bundles/org.eclipse.ui.browser/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Apr 18 11:27:52 EDT 2005
-eclipse.preferences.version=1
-internal.default.compliance=default
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
diff --git a/bundles/org.eclipse.ui.browser/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.browser/META-INF/MANIFEST.MF
deleted file mode 100644
index e982ead..0000000
--- a/bundles/org.eclipse.ui.browser/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.ui.browser; singleton:=true
-Bundle-Version: 3.2.100.qualifier
-Bundle-Activator: org.eclipse.ui.internal.browser.WebBrowserUIPlugin
-Bundle-Vendor: %Plugin.providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.browser,
- org.eclipse.ui.internal.browser;x-internal:=true,
- org.eclipse.ui.internal.browser.browsers;x-internal:=true,
- org.eclipse.ui.internal.browser.macosx;x-internal:=true
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.1.0,4.0.0)",
- org.eclipse.ui;bundle-version="[3.2.0,4.0.0)"
-Eclipse-LazyStart: true
-Import-Package: com.ibm.icu.text
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/bundles/org.eclipse.ui.browser/about.html b/bundles/org.eclipse.ui.browser/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.ui.browser/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/build.properties b/bundles/org.eclipse.ui.browser/build.properties
deleted file mode 100644
index f301c6e..0000000
--- a/bundles/org.eclipse.ui.browser/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = icons/,\
-               .options,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               .,\
-               META-INF/
-src.includes = about.html,\
-               schema/
-source.. = src/
-output.. = bin/
diff --git a/bundles/org.eclipse.ui.browser/component.xml b/bundles/org.eclipse.ui.browser/component.xml
deleted file mode 100644
index 8538781..0000000
--- a/bundles/org.eclipse.ui.browser/component.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="Web Browser Support">
-  <description url=""></description>
-  <component-depends unrestricted="true"></component-depends>
-  <plugin id="org.eclipse.ui.browser" fragment="false"/>
-  <package name="org.eclipse.ui.browser">
-    <type name="BrowserFactory" implement="false" instantiate="false"/>
-  </package>
-</component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_backward.gif b/bundles/org.eclipse.ui.browser/icons/clcl16/nav_backward.gif
deleted file mode 100644
index 740e8ca..0000000
--- a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_backward.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_forward.gif b/bundles/org.eclipse.ui.browser/icons/clcl16/nav_forward.gif
deleted file mode 100644
index 1956789..0000000
--- a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_forward.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_go.gif b/bundles/org.eclipse.ui.browser/icons/clcl16/nav_go.gif
deleted file mode 100644
index d6b3bdc..0000000
--- a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_go.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_home.gif b/bundles/org.eclipse.ui.browser/icons/clcl16/nav_home.gif
deleted file mode 100644
index 77efb69..0000000
--- a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_home.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_print.gif b/bundles/org.eclipse.ui.browser/icons/clcl16/nav_print.gif
deleted file mode 100644
index 0c213c3..0000000
--- a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_print.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_refresh.gif b/bundles/org.eclipse.ui.browser/icons/clcl16/nav_refresh.gif
deleted file mode 100644
index 3ca04d0..0000000
--- a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_refresh.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_stop.gif b/bundles/org.eclipse.ui.browser/icons/clcl16/nav_stop.gif
deleted file mode 100644
index 1543a11..0000000
--- a/bundles/org.eclipse.ui.browser/icons/clcl16/nav_stop.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_backward.gif b/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_backward.gif
deleted file mode 100644
index 82b0e87..0000000
--- a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_backward.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_forward.gif b/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_forward.gif
deleted file mode 100644
index 3f3e5eb..0000000
--- a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_forward.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_go.gif b/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_go.gif
deleted file mode 100644
index 6df73de..0000000
--- a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_go.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_home.gif b/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_home.gif
deleted file mode 100644
index 4d5d56e..0000000
--- a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_home.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_print.gif b/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_print.gif
deleted file mode 100644
index 5150ba0..0000000
--- a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_print.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_refresh.gif b/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_refresh.gif
deleted file mode 100644
index b248482..0000000
--- a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_refresh.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_stop.gif b/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_stop.gif
deleted file mode 100644
index 4345d57..0000000
--- a/bundles/org.eclipse.ui.browser/icons/dlcl16/nav_stop.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/dlcl16/synced.gif b/bundles/org.eclipse.ui.browser/icons/dlcl16/synced.gif
deleted file mode 100644
index 4f6e43a..0000000
--- a/bundles/org.eclipse.ui.browser/icons/dlcl16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_backward.gif b/bundles/org.eclipse.ui.browser/icons/elcl16/nav_backward.gif
deleted file mode 100644
index 740e8ca..0000000
--- a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_backward.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_forward.gif b/bundles/org.eclipse.ui.browser/icons/elcl16/nav_forward.gif
deleted file mode 100644
index 1956789..0000000
--- a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_forward.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_go.gif b/bundles/org.eclipse.ui.browser/icons/elcl16/nav_go.gif
deleted file mode 100644
index d6b3bdc..0000000
--- a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_go.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_home.gif b/bundles/org.eclipse.ui.browser/icons/elcl16/nav_home.gif
deleted file mode 100644
index 77efb69..0000000
--- a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_home.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_print.gif b/bundles/org.eclipse.ui.browser/icons/elcl16/nav_print.gif
deleted file mode 100644
index 0c213c3..0000000
--- a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_print.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_refresh.gif b/bundles/org.eclipse.ui.browser/icons/elcl16/nav_refresh.gif
deleted file mode 100644
index 3ca04d0..0000000
--- a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_refresh.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_stop.gif b/bundles/org.eclipse.ui.browser/icons/elcl16/nav_stop.gif
deleted file mode 100644
index 1543a11..0000000
--- a/bundles/org.eclipse.ui.browser/icons/elcl16/nav_stop.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/elcl16/synced.gif b/bundles/org.eclipse.ui.browser/icons/elcl16/synced.gif
deleted file mode 100644
index 870934b..0000000
--- a/bundles/org.eclipse.ui.browser/icons/elcl16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/1.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/1.gif
deleted file mode 100644
index c7f06ad..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/1.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/10.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/10.gif
deleted file mode 100644
index 6c5e636..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/10.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/11.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/11.gif
deleted file mode 100644
index fcfd068..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/11.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/12.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/12.gif
deleted file mode 100644
index 354d703..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/12.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/13.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/13.gif
deleted file mode 100644
index b107a73..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/13.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/2.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/2.gif
deleted file mode 100644
index 5b4d065..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/2.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/3.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/3.gif
deleted file mode 100644
index 040e21b..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/3.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/4.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/4.gif
deleted file mode 100644
index 554a737..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/4.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/5.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/5.gif
deleted file mode 100644
index a929896..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/5.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/6.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/6.gif
deleted file mode 100644
index 402849d..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/6.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/7.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/7.gif
deleted file mode 100644
index 06c2ff3..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/7.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/8.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/8.gif
deleted file mode 100644
index 0aa9c48..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/8.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/busy/9.gif b/bundles/org.eclipse.ui.browser/icons/obj16/busy/9.gif
deleted file mode 100644
index 658fc65..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/busy/9.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/external_browser.gif b/bundles/org.eclipse.ui.browser/icons/obj16/external_browser.gif
deleted file mode 100644
index de1f948..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/external_browser.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/icons/obj16/internal_browser.gif b/bundles/org.eclipse.ui.browser/icons/obj16/internal_browser.gif
deleted file mode 100644
index 229c391..0000000
--- a/bundles/org.eclipse.ui.browser/icons/obj16/internal_browser.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.browser/plugin.properties b/bundles/org.eclipse.ui.browser/plugin.properties
deleted file mode 100644
index 8b21ac5..0000000
--- a/bundles/org.eclipse.ui.browser/plugin.properties
+++ /dev/null
@@ -1,38 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Plugin.name=Browser Support
-Plugin.providerName=Eclipse.org
-
-browser_extension_point_name=Web Browser
-
-viewWebBrowserTitle=Internal Web Browser
-viewWebBrowserSupportTitle= Web Browser
-preferenceWebBrowserTitle=Web Browser
-preferenceKeywords=HTML Firefox Mozilla Netscape Internet Opera Safari
-
-
-command.openBrowser.name=Open Browser
-command.openBrowser.description=Opens the default web browser.
-commandParameter.openBrowser.url.name=URL
-commandParameter.openBrowser.browserId.name=Browser Id
-commandParameter.openBrowser.name.name=Browser Name
-commandParameter.openBrowser.tooltip.name=Browser Tooltip
-
-browserInternetExplorer=Internet Explorer
-browserNetscape4=Netscape Communicator v4.x
-browserNetscape7=Netscape v7.x
-browserNetscape=Netscape
-browserMozilla=Mozilla
-browserOpera=Opera
-browserKonqueror=Konqueror
-browserGaleon=Galeon
-browserFirefox=Firefox
-browserCamino=Camino
diff --git a/bundles/org.eclipse.ui.browser/plugin.xml b/bundles/org.eclipse.ui.browser/plugin.xml
deleted file mode 100644
index eef4464..0000000
--- a/bundles/org.eclipse.ui.browser/plugin.xml
+++ /dev/null
@@ -1,244 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <extension-point id="browsers" name="%browser_extension_point_name" schema="schema/browsers.exsd"/>
-
-   <extension point="org.eclipse.ui.preferencePages">
-      <page
-         id="org.eclipse.ui.browser.preferencePage"
-         name="%preferenceWebBrowserTitle"
-         category="org.eclipse.ui.preferencePages.Workbench"
-         class="org.eclipse.ui.internal.browser.WebBrowserPreferencePage">
-           <keywordReference id="org.eclipse.ui.browser.preferenceKeywords"/>
-      </page>
-   </extension>
-
-   <extension point="org.eclipse.ui.keywords">
-      <keyword
-         label="%preferenceKeywords"
-         id="org.eclipse.ui.browser.preferenceKeywords"/>
-   </extension>  
-
-   <extension point="org.eclipse.ui.browserSupport">
-      <support
-         default="true"
-         class="org.eclipse.ui.internal.browser.DefaultBrowserSupport"/>
-   </extension>
-
-   <extension point="org.eclipse.ui.views">
-      <view
-         allowMultiple="true"
-         category="org.eclipse.ui"
-         class="org.eclipse.ui.internal.browser.WebBrowserView"
-         icon="$nl$/icons/obj16/internal_browser.gif"
-         id="org.eclipse.ui.browser.view"
-         name="%viewWebBrowserTitle"/>
-   </extension>
-
-   <extension point="org.eclipse.ui.editors">
-      <editor
-         class="org.eclipse.ui.internal.browser.WebBrowserEditor"
-         contributorClass="org.eclipse.ui.internal.browser.WebBrowserEditorActionBarContributor"
-         icon="$nl$/icons/obj16/internal_browser.gif"
-         id="org.eclipse.ui.browser.editor"
-         name="%viewWebBrowserTitle"/>
-      <editor
-         extensions="htm,html,shtml,xhtml"
-         icon="$nl$/icons/obj16/internal_browser.gif"
-         id="org.eclipse.ui.browser.editorSupport"
-         launcher="org.eclipse.ui.internal.browser.BrowserLauncher"
-         name="%viewWebBrowserSupportTitle"/>
-  </extension>
-
-<!--
-  <extension point="org.eclipse.ui.actionSets">
-    <actionSet
-      id="org.eclipse.ui.browser.actionSet"
-      label="%actionSetWebBrowserTitle"
-      visible="true">
-      <action
-        id="org.eclipse.ui.browser.action.open"
-        toolbarPath="browser"
-        label="%actionSetOpenWebBrowser"
-        tooltip="%actionSetOpenWebBrowser"
-        icon="icons/obj16/internal_browser.gif"
-        class="org.eclipse.ui.internal.browser.OpenBrowserWorkbenchAction"/>
-    </actionSet>
-  </extension>
--->
-
-   <!-- Web Browsers -->
-   <extension point="org.eclipse.ui.browser.browsers">
-      <!-- Linux -->
-      <browser
-         id="org.eclipse.ui.browser.mozilla"
-         name="%browserMozilla"
-         os="linux,aix,hpux,solaris"
-         executable="mozilla"
-         factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
-         <location>usr/bin/mozilla</location>
-         <location>usr/X11/bin/mozilla</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.netscape"
-         name="%browserNetscape"
-         os="linux,aix,hpux,solaris"
-         executable="netscape"
-         factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
-         <location>usr/bin/netscape</location>
-         <location>usr/X11R6/bin/netscape</location>
-         <location>usr/dt/bin/netscape</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.firefox"
-         name="%browserFirefox"
-         os="linux,aix,hpux,solaris"
-         executable="firefox"
-         factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.konqueror"
-         name="%browserKonqueror"
-         os="linux,aix,hpux,solaris"
-         executable="konqueror">
-         <location>opt/kde3/bin/konqueror</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.galeon"
-         name="%browserGaleon"
-         os="linux,aix,hpux,solaris"
-         executable="galeon">
-         <location>opt/usr/gnome/bin/galeon</location>
-      </browser>
-      
-      <!-- Windows -->
-      <browser
-         id="org.eclipse.ui.browser.mozilla"
-         name="%browserMozilla"
-         os="Win32"
-         executable="mozilla.exe"
-         factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
-         <location>Program Files\mozilla.org\Mozilla\mozilla.exe</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.netscape7"
-         name="%browserNetscape7"
-         os="Win32"
-         executable="netsc.exe"
-         factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
-         <location>Program Files\Netscape\Netscape\netscp.exe</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.netscape4"
-         name="%browserNetscape4"
-         os="Win32"
-         executable="netscape.exe"
-         factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
-         <location>Program Files\Netscape\Communicator\Program\netscape.exe</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.firefox"
-         name="%browserFirefox"
-         os="Win32"
-         executable="firefox.exe"
-         factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
-         <location>Program Files\mozilla.org\Firefox\firefox.exe</location>
-         <location>Program Files\Mozilla Firefox\firefox.exe</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.ie"
-         name="%browserInternetExplorer"
-         os="Win32"
-         executable="iexplore.exe">
-         <location>Program Files\Internet Explorer\iexplore.exe</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.opera"
-         name="%browserOpera"
-         os="Win32"
-         executable="opera.exe">
-         <location>Program Files\Opera7\opera.exe</location>
-      </browser>
-      
-      <!-- Mac -->
-      <browser
-         id="org.eclipse.ui.browser.firefox"
-         name="%browserFirefox"
-         os="MacOSX"
-         executable="firefox-bin"
-         factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
-         <location>Applications/Firefox.app/Contents/MacOS/firefox-bin</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.camino"
-         name="%browserCamino"
-         os="MacOSX"
-         executable="Camino">
-         <location>Applications/Camino.app/Contents/MacOS/Camino</location>
-      </browser>
-<!--      <browser
-         id="org.eclipse.ui.browser.safari"
-         name="%browserSafari"
-         os="MacOSX"
-         executable="Safari"
-         factoryclass="org.eclipse.ui.internal.browser.macosx.SafariBrowserFactory">
-         <location>Applications/Safari.app/Contents/MacOS/Safari</location>
-      </browser> -->
-      <browser
-         id="org.eclipse.ui.browser.mozilla"
-         name="%browserMozilla"
-         os="MacOSX"
-         executable="mozilla-bin"
-         factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
-         <location>Applications/Mozilla.app/Contents/MacOS/mozilla-bin</location>
-      </browser>
-      <browser
-         id="org.eclipse.ui.browser.ie"
-         name="%browserInternetExplorer"
-         os="MacOSX"
-         executable="Internet&#0032;Explorer">
-         <location>Applications/Internet Explorer.app/Contents/MacOS/"Internet Explorer"</location>
-      </browser>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            categoryId="org.eclipse.ui.category.window"
-            defaultHandler="org.eclipse.ui.internal.browser.OpenBrowserHandler"
-            description="%command.openBrowser.description"
-            id="org.eclipse.ui.browser.openBrowser"
-            name="%command.openBrowser.name">
-         <commandParameter
-               id="url"
-               name="%commandParameter.openBrowser.url.name"
-               optional="true"/>
-         <commandParameter
-               id="browserId"
-               name="%commandParameter.openBrowser.browserId.name"
-               optional="true"/>
-         <commandParameter
-               id="name"
-               name="%commandParameter.openBrowser.name.name"
-               optional="true"/>
-         <commandParameter
-               id="tooltip"
-               name="%commandParameter.openBrowser.tooltip.name"
-               optional="true"/>
-      </command>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commandImages">
-      <image
-            commandId="org.eclipse.ui.browser.openBrowser"
-            icon="$nl$/icons/obj16/internal_browser.gif"/>
-   </extension>
-   <extension
-         point="org.eclipse.ui.elementFactories">
-      <factory
-            class="org.eclipse.ui.internal.browser.WebBrowserEditorInput"
-            id="org.eclipse.ui.browser.elementFactory">
-      </factory>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.ui.browser/schema/browsers.exsd b/bundles/org.eclipse.ui.browser/schema/browsers.exsd
deleted file mode 100644
index b1729d1..0000000
--- a/bundles/org.eclipse.ui.browser/schema/browsers.exsd
+++ /dev/null
@@ -1,166 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.browser">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.browser" id="browsers" name="Browsers"/>
-      </appInfo>
-      <documentation>
-         For providing web browsers capable of displaying html documents at a given URL.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence minOccurs="0" maxOccurs="unbounded">
-            <element ref="browser"/>
-         </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>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="browser">
-      <complexType>
-         <sequence minOccurs="0" maxOccurs="unbounded">
-            <element ref="location"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique ID of the browser.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="factoryclass" type="string">
-            <annotation>
-               <documentation>
-                  the implementation class for the browser factory. This class must implement the &lt;samp&gt;org.eclipse.ui.browser.BrowserFactory&lt;/samp&gt; interface.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.help.browser.IBrowserFactory"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the name of the browser (translatable).
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="os" type="string">
-            <annotation>
-               <documentation>
-                  comma separated list of operating systems. Only browsers with the correct OS will be used. If the os parameter is empty, the browser will be assumed to work on all OS
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="executable" type="string">
-            <annotation>
-               <documentation>
-                  the executable filename
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="location" type="string">
-      <annotation>
-         <documentation>
-            Default install locations. these locations should not contain the initial path, as it will be substituted with all known drives. (e.g. on Windows, a location of &quot;test.exe&quot; would look for &quot;c:\test.exe&quot;, &quot;d:\test.exe&quot;, etc. for all known drives.
-         </documentation>
-      </annotation>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0 (originally added in release 2.0 as org.eclipse.help.ui.browser)
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is a sample usage of the browser extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.help.base.browser&quot;&gt;
-  &lt;browser 
-   id=&quot;org.eclipse.myPlugin.myBrowserID&quot;
-   factoryClass=&quot;org.eclipse.myPlugin.myPackage.MyFactoryClass&quot;
-   name=&quot;My Browser&quot;&gt;
-  &lt;/browser&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The supplied factory class must implement the &lt;samp&gt;org.eclipse.help.browser.IBrowserFactory&lt;/samp&gt; interface.
-Methods in that interface determine whether the factory is available on the given system, i.e. is capable
-of supplying browser instances, and create browser instances that implement IBrowser interface.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The &lt;samp&gt;org.eclipse.help.base&lt;/samp&gt; and &lt;samp&gt;org.eclipse.help.ui&lt;/samp&gt; plug-ins contain implementation of browsers on common platforms.
-Other plug-ins can provide different implementations.  In the preferences, the user can select the default
-browser from among available browsers.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/browser/BrowserFactory.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/browser/BrowserFactory.java
deleted file mode 100644
index e98d206..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/browser/BrowserFactory.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.browser;
-
-import org.eclipse.ui.browser.IWebBrowser;
-/**
- * Implementators of <code>org.eclipse.ui.browser.browsers</code> extension
- * points must provide an implementation of this abstract class.
- * 
- * @since 3.1
- */
-public abstract class BrowserFactory {
-	/**
-	 * Checks whether the factory can work on the user system.
-	 * 
-	 * @return <code>false</code> if the factory can work on this system; for
-	 *    example the required native browser required by browser adapters that
-	 *    it creates is not installed, or <code>true</code> otherwise
-	 */
-	public boolean isAvailable() {
-		return true;
-	}
-
-	/**
-	 * Obtains a new instance of a web browser.
-	 * 
-	 * @param id the browser id
-	 * @param location the browser location
-	 * @param parameters the browser parameters
-	 * @return an instance of IWebBrowser
-	 */
-	public abstract IWebBrowser createBrowser(String id, String location, String parameters);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptor.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptor.java
deleted file mode 100644
index 01b4ebd..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptor.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.ui.IMemento;
-/**
- * 
- */
-public class BrowserDescriptor implements IBrowserDescriptor {
-	private static final String MEMENTO_NAME = "name"; //$NON-NLS-1$
-	private static final String MEMENTO_LOCATION = "location"; //$NON-NLS-1$
-	private static final String MEMENTO_PARAMETERS = "parameters"; //$NON-NLS-1$
-
-	protected String name;
-	protected String location;
-	protected String parameters;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.browser.IWebBrowser#getName()
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.browser.IBrowserDescriptor#getLocation()
-	 */
-	public String getLocation() {
-		return location;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.browser.IBrowserDescriptor#getParameters()
-	 */
-	public String getParameters() {
-		return parameters;
-	}
-	
-	public void delete() {
-		BrowserManager.getInstance().removeWebBrowser(this);
-	}
-
-	public boolean isWorkingCopy() {
-		return false;
-	}
-
-	public IBrowserDescriptorWorkingCopy getWorkingCopy() {
-		return new BrowserDescriptorWorkingCopy(this);
-	}
-
-	protected void setInternal(IBrowserDescriptor browser) {
-		name = browser.getName();
-		location = browser.getLocation();
-		parameters = browser.getParameters();
-	}
-
-	protected void save(IMemento memento) {
-		memento.putString(MEMENTO_NAME, name);
-		memento.putString(MEMENTO_LOCATION, location);
-		memento.putString(MEMENTO_PARAMETERS, parameters);
-	}
-
-	protected void load(IMemento memento) {
-		name = memento.getString(MEMENTO_NAME);
-		location = memento.getString(MEMENTO_LOCATION);
-		parameters = memento.getString(MEMENTO_PARAMETERS);
-	}
-
-	public String toString() {
-		return "External Web browser: " + getName() + " / " + getLocation() + " / " + getParameters();   //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptorDialog.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptorDialog.java
deleted file mode 100644
index 9ff1294..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptorDialog.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.io.File;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-/**
- * 
- */
-public class BrowserDescriptorDialog extends Dialog {
-	protected IBrowserDescriptorWorkingCopy browser;
-	protected boolean isEdit;
-	protected Button newPageCheckbox;
-	protected Button clearHistoryCheckbox;
-	protected Button browseButton;
-	protected Text browserNameTextfield;
-	protected Text browserLocationTextfield;
-	protected Text browserParametersTextfield;
-	private Button okButton;
-	
-	interface StringModifyListener {
-		public void valueChanged(String s);
-	}
-	
-	/**
-	 * @param parentShell
-	 */
-	public BrowserDescriptorDialog(Shell parentShell, IBrowserDescriptorWorkingCopy browser) {
-		super(parentShell);
-		this.browser = browser;
-		isEdit = true;
-	}
-
-	public BrowserDescriptorDialog(Shell parentShell) {
-		super(parentShell);
-		browser = BrowserManager.getInstance().createExternalWebBrowser();
-		isEdit = false;
-	}
-
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		
-		if (isEdit)
-			shell.setText(Messages.editExternalBrowser);
-		else
-			shell.setText(Messages.createBrowser);
-	}
-
-	protected Text createText(Composite comp, String txt, final StringModifyListener listener) {
-		final Text text = new Text(comp, SWT.BORDER);
-		if (txt != null)
-			text.setText(txt);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.widthHint = 250;
-		text.setLayoutData(data);
-		if (listener != null)
-			text.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {	
-					listener.valueChanged(text.getText());
-				}
-			});
-		return text;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Font font = parent.getFont();
-		Composite composite = (Composite) super.createDialogArea(parent);
-		((GridLayout)composite.getLayout()).numColumns = 3;
-		composite.setFont(font);
-		
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ContextIds.PREF_BROWSER_DIALOG);
-		
-		SWTUtil.createLabel(composite, Messages.name).setFont(font);
-		browserNameTextfield = createText(composite, browser.getName(), new StringModifyListener() {
-			public void valueChanged(String s) {
-				browser.setName(s);
-				validateFields();
-			}
-		});
-		browserNameTextfield.setFont(font);
-		
-		new Label(composite, SWT.NONE);
-	
-		SWTUtil.createLabel(composite, Messages.location).setFont(font);
-		browserLocationTextfield = createText(composite, browser.getLocation(), new StringModifyListener() {
-			public void valueChanged(String s) {
-				browser.setLocation(s);
-				validateFields();
-			}
-		});
-		browserLocationTextfield.setFont(font);
-		
-		browseButton = SWTUtil.createButton(composite, Messages.browse);
-		browseButton.setFont(font);
-		browseButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				FileDialog dialog = new FileDialog(getShell(), SWT.OPEN);
-				dialog.setText(Messages.browseMessage);
-				
-				String fname = browserLocationTextfield.getText();
-				
-				dialog.setFileName(fname);
-				fname = dialog.open();
-				
-				if (fname != null)
-					browserLocationTextfield.setText(fname);
-			}
-		});
-		
-		SWTUtil.createLabel(composite, Messages.parameters).setFont(font);
-		browserParametersTextfield = createText(composite, browser.getParameters(), new StringModifyListener() {
-			public void valueChanged(String s) {
-				browser.setParameters(s);
-			}
-		});
-		browserParametersTextfield.setFont(font);
-
-		new Label(composite, SWT.NONE);
-		
-		new Label(composite, SWT.NONE);
-		Label urlLabel = new Label(composite, SWT.NONE);
-		urlLabel.setText(NLS.bind(Messages.parametersMessage, IBrowserDescriptor.URL_PARAMETER));
-		urlLabel.setFont(font);
-		
-		return composite;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		// do simple field validation to at least ensure target directory entered is valid pathname
-		try {
-		File file = new File(browser.getLocation());
-			if(!file.isFile()){
-				WebBrowserUtil.openError(Messages.locationInvalid);
-				return;
-			}
-		}
-		catch(Exception e){
-			WebBrowserUtil.openError(Messages.locationInvalid);
-			return;
-		}
-		
-		browser.save();
-		super.okPressed();
-	}
-	
-	private void setOKButtonEnabled(boolean curIsEnabled) {
-		if (okButton == null)
-			okButton = getButton(IDialogConstants.OK_ID);
-		
-		if (okButton != null)
-			okButton.setEnabled(curIsEnabled);
-	}
-	
-	protected Control createButtonBar(Composite parent) {
-		Control buttonControl = super.createButtonBar(parent);
-		validateFields();
-		return buttonControl;
-	}
-	
-	protected void validateFields() {
-		boolean valid = true;
-		
-		String name = browserNameTextfield.getText();
-		if (name == null || name.trim().length() < 1)
-			valid = false;
-		
-		String location = browserLocationTextfield.getText();
-		if (location == null || location.trim().length() < 1)
-			valid = false;
-		
-		setOKButtonEnabled(valid);
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptorWorkingCopy.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptorWorkingCopy.java
deleted file mode 100644
index 9df5d7e..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserDescriptorWorkingCopy.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-/**
- * 
- */
-public class BrowserDescriptorWorkingCopy extends BrowserDescriptor implements IBrowserDescriptorWorkingCopy {
-	protected BrowserDescriptor browser;
-
-	// creation
-	public BrowserDescriptorWorkingCopy() {
-		// do nothing
-	}
-
-	// working copy
-	public BrowserDescriptorWorkingCopy(BrowserDescriptor browser) {
-		this.browser = browser;
-		setInternal(browser);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.browser.IBrowserDescriptorWorkingCopy#setName(java.lang.String)
-	 */
-	public void setName(String name) {
-		if (name == null)
-			throw new IllegalArgumentException();
-		this.name = name;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.browser.IBrowserDescriptorWorkingCopy#setLocation(java.lang.String)
-	 */
-	public void setLocation(String location) {
-		this.location = location;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.browser.IBrowserDescriptorWorkingCopy#setParameters(java.lang.String)
-	 */
-	public void setParameters(String params) {
-		this.parameters = params;
-	}
-
-	public boolean isWorkingCopy() {
-		return true;
-	}
-	
-	public IBrowserDescriptorWorkingCopy getWorkingCopy() {
-		return this;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.browser.IBrowserDescriptorWorkingCopy#save()
-	 */
-	public IBrowserDescriptor save() {
-		if (browser != null) {
-			browser.setInternal(this);
-			BrowserManager.getInstance().saveBrowsers();
-		} else {
-			browser = new BrowserDescriptor();
-			browser.setInternal(this);
-			BrowserManager.getInstance().addBrowser(browser);
-		}
-		return browser;
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserExt.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserExt.java
deleted file mode 100644
index 322932e..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserExt.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.ui.browser.BrowserFactory;
-import org.eclipse.ui.browser.IWebBrowser;
-/**
- * @since 1.0
- */
-public class BrowserExt implements IBrowserExt {
-	private static final String ATTR_FACTORY_CLASS = "factoryclass"; //$NON-NLS-1$
-
-	private IConfigurationElement element;
-
-	private BrowserFactory delegate;
-
-	/**
-	 * BrowserExt constructor comment.
-	 */
-	public BrowserExt(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * Returns the id of this browser.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getId() {
-		return element.getAttribute("id"); //$NON-NLS-1$
-	}
-
-	public String getName() {
-		String label = element.getAttribute("name"); //$NON-NLS-1$
-		if (label == null)
-			return "n/a"; //$NON-NLS-1$
-		return label;
-	}
-
-	public String getParameters() {
-		return element.getAttribute("parameters"); //$NON-NLS-1$
-	}
-
-	public String getExecutable() {
-		return element.getAttribute("executable"); //$NON-NLS-1$
-	}
-
-	public String getOS() {
-		String os = element.getAttribute("os"); //$NON-NLS-1$
-		if (os == null)
-			os = ""; //$NON-NLS-1$
-		return os;
-	}
-
-	public String[] getDefaultLocations() {
-		List list = new ArrayList();
-		IConfigurationElement[] children = element.getChildren("location"); //$NON-NLS-1$
-		if (children != null) {
-			int size = children.length;
-			for (int i = 0; i < size; i++) {
-				list.add(children[i].getValue());
-			}
-		}
-
-		String[] s = new String[list.size()];
-		list.toArray(s);
-		return s;
-	}
-
-	protected BrowserFactory getDelegate() {
-		if (delegate == null) {
-			if (element.getAttribute(ATTR_FACTORY_CLASS) == null
-					|| element.getAttribute(ATTR_FACTORY_CLASS).length() == 0)
-				return null;
-
-			try {
-				delegate = (BrowserFactory) element
-						.createExecutableExtension(ATTR_FACTORY_CLASS);
-			} catch (Exception e) {
-				Trace
-						.trace(
-								Trace.SEVERE,
-								"Could not create delegate" + toString() + ": " + e.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		return delegate;
-	}
-
-	/**
-	 * Checks whether the factory can work on the user system.
-	 * 
-	 * @return false if the factory cannot work on this system; for example the
-	 *         required native browser required by browser adapters that it
-	 *         creates is not installed
-	 */
-	public boolean isAvailable() {
-		if (delegate == null && (element.getAttribute(ATTR_FACTORY_CLASS) == null
-				|| element.getAttribute(ATTR_FACTORY_CLASS).length() == 0))
-			return true;
-		
-		try {
-			return getDelegate().isAvailable();
-		} catch (Exception e) {
-			Trace
-					.trace(
-							Trace.SEVERE,
-							"Error calling delegate " + toString() + ": " + e.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-			return false;
-		}
-	}
-
-	/**
-	 * Obtains a new instance of a web browser.
-	 * 
-	 * @return instance of IBrowser
-	 */
-	public IWebBrowser createBrowser(String id, String location,
-			String parameters) {
-		try {
-			return getDelegate().createBrowser(id, location, parameters);
-		} catch (Exception e) {
-			Trace
-					.trace(
-							Trace.SEVERE,
-							"Error calling delegate " + toString() + ": " + e.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-			return null;
-		}
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		String s = "BrowserExt: " + getId() + ", " + getName() + ", " + getOS()  //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
-				+ ", " + getExecutable() + ", " + getParameters() + ", ";  //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
-		String[] locations = getDefaultLocations();
-		if (locations != null) {
-			int size = locations.length;
-			for (int i = 0; i < size; i++) {
-				s += locations[i] + ";"; //$NON-NLS-1$
-			}
-		}
-		return s;
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserLauncher.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserLauncher.java
deleted file mode 100644
index bf39238..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserLauncher.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.net.MalformedURLException;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IEditorLauncher;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-
-public class BrowserLauncher implements IEditorLauncher {
-
-	public BrowserLauncher() {
-		// do nothing
-	}
-
-	public void open(IPath file) {
-		IWorkbenchBrowserSupport support = PlatformUI.getWorkbench().getBrowserSupport();
-		try {
-			if (WebBrowserPreference.getBrowserChoice()== WebBrowserPreference.INTERNAL)
-				support.createBrowser(IWorkbenchBrowserSupport.LOCATION_BAR | IWorkbenchBrowserSupport.NAVIGATION_BAR,
-						file.toPortableString(), null, null).openURL(file.toFile().toURL());
-			else
-				support.createBrowser(IWorkbenchBrowserSupport.LOCATION_BAR | IWorkbenchBrowserSupport.NAVIGATION_BAR,
-						DefaultBrowserSupport.SHARED_ID, null, null).openURL(file.toFile().toURL());
-		}
-		catch (MalformedURLException e) {
-			// ignore
-		}
-		catch (PartInitException e) {
-			MessageDialog.openError(PlatformUI.getWorkbench().getDisplay().getActiveShell(),
-					Messages.errorDialogTitle, e.getLocalizedMessage());
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserManager.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserManager.java
deleted file mode 100644
index 64b9b88..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserManager.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Observable;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.XMLMemento;
-/**
- * 
- */
-public class BrowserManager extends Observable {
-	protected List browsers;
-	protected IBrowserDescriptor currentBrowser;
-	
-	private Preferences.IPropertyChangeListener pcl;
-	protected boolean ignorePreferenceChanges = false;
-
-	protected static BrowserManager instance;
-	
-	public static BrowserManager getInstance() {
-		if (instance == null)
-			instance = new BrowserManager();
-		return instance;
-	}
-
-	private BrowserManager() {
-		pcl = new Preferences.IPropertyChangeListener() {
-			public void propertyChange(Preferences.PropertyChangeEvent event) {
-				String property = event.getProperty();
-				if (!ignorePreferenceChanges && property.equals("browsers")) { //$NON-NLS-1$
-					loadBrowsers();
-				}
-				if (!property.equals(WebBrowserPreference.PREF_INTERNAL_WEB_BROWSER_HISTORY)) {
-					setChanged();
-					notifyObservers();
-				}
-			}
-		};
-		
-		WebBrowserUIPlugin.getInstance().getPluginPreferences().addPropertyChangeListener(pcl);
-	}
-
-	protected static void safeDispose() {
-		if (instance == null)
-			return;
-		instance.dispose();
-	}
-
-	protected void dispose() {
-		Preferences prefs = WebBrowserUIPlugin.getInstance().getPluginPreferences();
-		if (prefs != null)
-			prefs.removePropertyChangeListener(pcl);
-	}
-
-	public IBrowserDescriptorWorkingCopy createExternalWebBrowser() {
-		return new BrowserDescriptorWorkingCopy();
-	}	
-
-	public List getWebBrowsers() {
-		if (browsers == null)
-			loadBrowsers();
-		return new ArrayList(browsers);
-	}
-
-	protected void loadBrowsers() {
-		Trace.trace(Trace.FINEST, "Loading web browsers"); //$NON-NLS-1$
-		
-		Preferences prefs = WebBrowserUIPlugin.getInstance().getPluginPreferences();
-		String xmlString = prefs.getString("browsers"); //$NON-NLS-1$
-		if (xmlString != null && xmlString.length() > 0) {
-			browsers = new ArrayList();
-			
-			try {
-				ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes());
-				Reader reader = new InputStreamReader(in);
-				IMemento memento = XMLMemento.createReadRoot(reader);
-				
-				IMemento system = memento.getChild("system"); //$NON-NLS-1$
-				if (system != null && WebBrowserUtil.canUseSystemBrowser())
-					browsers.add(new SystemBrowserDescriptor());
-				
-				IMemento[] children = memento.getChildren("external"); //$NON-NLS-1$
-				int size = children.length;
-				for (int i = 0; i < size; i++) {
-					BrowserDescriptor browser = new BrowserDescriptor();
-					browser.load(children[i]);
-					browsers.add(browser);
-				}
-				
-				Integer current = memento.getInteger("current"); //$NON-NLS-1$
-				if (current != null) {
-					currentBrowser = (IBrowserDescriptor) browsers.get(current.intValue()); 
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load browsers: " + e.getMessage()); //$NON-NLS-1$
-			}
-			
-			IBrowserDescriptor system = new SystemBrowserDescriptor();
-			if (WebBrowserUtil.canUseSystemBrowser() && !browsers.contains(system)) {
-				browsers.add(0, system);
-				currentBrowser = system;
-				saveBrowsers();
-			}
-		} else {
-			setupDefaultBrowsers();
-			saveBrowsers();
-		}
-		
-		if (currentBrowser == null && browsers.size() > 0)
-			currentBrowser = (IBrowserDescriptor) browsers.get(0);
-		setChanged();
-		notifyObservers();
-	}
-
-	protected void saveBrowsers() {
-		try {
-			ignorePreferenceChanges = true;
-			XMLMemento memento = XMLMemento.createWriteRoot("web-browsers"); //$NON-NLS-1$
-
-			Iterator iterator = browsers.iterator();
-			while (iterator.hasNext()) {
-				Object obj = iterator.next();
-				if (obj instanceof BrowserDescriptor) {
-					BrowserDescriptor browser = (BrowserDescriptor) obj;
-					IMemento child = memento.createChild("external"); //$NON-NLS-1$
-					browser.save(child);
-				} else if (obj instanceof SystemBrowserDescriptor) {
-					memento.createChild("system"); //$NON-NLS-1$
-				}
-			}
-			
-			memento.putInteger("current", browsers.indexOf(currentBrowser)); //$NON-NLS-1$
-
-			StringWriter writer = new StringWriter();
-			memento.save(writer);
-			String xmlString = writer.getBuffer().toString();
-			Preferences prefs = WebBrowserUIPlugin.getInstance().getPluginPreferences();
-			prefs.setValue("browsers", xmlString); //$NON-NLS-1$
-			WebBrowserUIPlugin.getInstance().savePluginPreferences();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save browsers", e); //$NON-NLS-1$
-		}
-		ignorePreferenceChanges = false;
-	}
-
-	protected void setupDefaultBrowsers() {
-		browsers = new ArrayList();
-
-		// add system browser
-		if (WebBrowserUtil.canUseSystemBrowser()) {
-			IBrowserDescriptor system = new SystemBrowserDescriptor();
-			browsers.add(system);
-		}
-		
-		// handle all the EXTERNAL browsers by criteria and add those too at startup
-		WebBrowserUtil.addFoundBrowsers(browsers);
-		
-		// by default, if internal is there, that is current, else set the first external one
-		if (!browsers.isEmpty() && currentBrowser == null)
-			currentBrowser = (IBrowserDescriptor) browsers.get(0);
-	}
-
-	protected void addBrowser(IBrowserDescriptor browser) {
-		if (browsers == null)
-			loadBrowsers();
-		if (!browsers.contains(browser))
-			browsers.add(browser);
-		if (browsers.size() == 1)
-			setCurrentWebBrowser(browser);
-		
-		saveBrowsers();
-	}
-
-	protected void removeWebBrowser(IBrowserDescriptor browser) {
-		if (browsers == null)
-			loadBrowsers();
-		browsers.remove(browser);
-		
-		if (currentBrowser == null || currentBrowser.equals(browser)) {
-			currentBrowser = null;
-			if (browsers.size() > 0)
-				currentBrowser = (IBrowserDescriptor) browsers.get(0);
-		}
-	}
-
-	public IBrowserDescriptor getCurrentWebBrowser() {
-		if (browsers == null)
-			loadBrowsers();
-
-		if (currentBrowser == null && browsers.size() > 0)
-			return (IBrowserDescriptor) browsers.get(0);
-		
-		return currentBrowser; 
-	}
-
-	public void setCurrentWebBrowser(IBrowserDescriptor wb) {
-		if (wb == null)
-			throw new IllegalArgumentException();
-
-		if (browsers.contains(wb))
-			currentBrowser = wb;
-		else
-			throw new IllegalArgumentException();
-		saveBrowsers();
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserText.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserText.java
deleted file mode 100644
index e16b15a..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserText.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-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.Label;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.swt.widgets.Text;
-
-public class BrowserText {
-    private String url;
-
-    private FallbackScrolledComposite scomp;
-
-    private Label title;
-
-    private Label exTitle;
-
-    private Label text;
-
-    private Label sep;
-
-    protected Link link;
-
-    private BrowserViewer viewer;
-
-    private Button button;
-
-    private Text exception;
-
-    private boolean expanded;
-
-    private Throwable ex;
-
-    class ReflowScrolledComposite extends FallbackScrolledComposite {
-        public ReflowScrolledComposite(Composite parent, int style) {
-            super(parent, style);
-        }
-
-        public void reflow(boolean flushCache) {
-            updateWidth(this);
-            super.reflow(flushCache);
-        }
-    }
-
-    public BrowserText(Composite parent, BrowserViewer viewer, Throwable ex) {
-        this.viewer = viewer;
-        this.ex = ex;
-        Color bg = parent.getDisplay()
-                .getSystemColor(SWT.COLOR_LIST_BACKGROUND);
-        scomp = new ReflowScrolledComposite(parent, SWT.V_SCROLL | SWT.H_SCROLL);
-        Composite client = new Composite(scomp, SWT.NULL);
-        fillContent(client, bg);
-        scomp.setContent(client);        
-        scomp.setBackground(bg);
-    }
-
-    private void fillContent(Composite parent, Color bg) {
-        GridLayout layout = new GridLayout();
-        layout.verticalSpacing = 10;
-        parent.setLayout(layout);
-        title = new Label(parent, SWT.WRAP);
-        title.setText(Messages.BrowserText_title);
-        title.setFont(JFaceResources.getHeaderFont());
-        title.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        title.setBackground(bg);
-
-        link = new Link(parent, SWT.WRAP);
-        link.setText(Messages.BrowserText_link);
-        link.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        link.setToolTipText(Messages.BrowserText_tooltip);
-        link.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                BusyIndicator.showWhile(link.getDisplay(), new Runnable() {
-                    public void run() {
-                        doOpenExternal();
-                    }
-                });
-            }
-        });
-        link.setBackground(bg);
-        sep = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
-        sep.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        exTitle = new Label(parent, SWT.NULL);
-        exTitle.setBackground(bg);
-        exTitle.setFont(JFaceResources.getBannerFont());
-        exTitle.setText(Messages.BrowserText_dtitle);
-        exTitle.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        text = new Label(parent, SWT.WRAP);
-        text.setText(Messages.BrowserText_text);
-        text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        text.setBackground(bg);
-        button = new Button(parent, SWT.PUSH);
-        updateButtonText();
-        button.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                toggleException();
-            }
-        });
-        exception = new Text(parent, SWT.MULTI);
-        loadExceptionText();
-        GridData gd = new GridData(GridData.FILL_BOTH);
-        gd.exclude = true;
-        exception.setLayoutData(gd);
-    }
-
-    private void loadExceptionText() {
-        StringWriter swriter = new StringWriter();
-        PrintWriter writer = new PrintWriter(swriter);
-        writer.println(ex.getMessage());
-        ex.printStackTrace(writer);
-        writer.close();
-        exception.setText(swriter.toString());
-    }
-
-    protected void toggleException() {
-        expanded = !expanded;
-        updateButtonText();
-        GridData gd = (GridData) exception.getLayoutData();
-        gd.exclude = !expanded;
-        exception.setVisible(expanded);
-        refresh();
-    }
-
-    private void updateButtonText() {
-        if (expanded)
-            button.setText(Messages.BrowserText_button_collapse);
-        else
-            button.setText(Messages.BrowserText_button_expand);
-    }
-
-    protected void updateWidth(Composite parent) {
-        Rectangle area = parent.getClientArea();
-        updateWidth(title, area.width);
-        updateWidth(text, area.width);
-        updateWidth(sep, area.width);
-        updateWidth(link, area.width);
-        updateWidth(exTitle, area.width);
-        updateWidth(exception, area.width);
-    }
-
-    private void updateWidth(Control c, int width) {
-        GridData gd = (GridData) c.getLayoutData();
-        if (gd != null)
-            gd.widthHint = width - 10;
-    }
-
-    protected void doOpenExternal() {
-        IBrowserViewerContainer container = viewer.getContainer();
-        if (container != null)
-            container.openInExternalBrowser(url);
-    }
-
-    public Control getControl() {
-        return scomp;
-    }
-
-    public boolean setUrl(String url) {
-        this.url = url;
-        return true;
-    }
-
-    public void setFocus() {
-        link.setFocus();
-    }
-
-    public String getUrl() {
-        return url;
-    }
-
-    public void refresh() {
-        scomp.reflow(true);
-    }
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserViewer.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserViewer.java
deleted file mode 100644
index 57c14a6..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BrowserViewer.java
+++ /dev/null
@@ -1,951 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.browser.CloseWindowListener;
-import org.eclipse.swt.browser.LocationEvent;
-import org.eclipse.swt.browser.LocationListener;
-import org.eclipse.swt.browser.OpenWindowListener;
-import org.eclipse.swt.browser.ProgressEvent;
-import org.eclipse.swt.browser.ProgressListener;
-import org.eclipse.swt.browser.StatusTextEvent;
-import org.eclipse.swt.browser.StatusTextListener;
-import org.eclipse.swt.browser.TitleEvent;
-import org.eclipse.swt.browser.TitleListener;
-import org.eclipse.swt.browser.VisibilityWindowListener;
-import org.eclipse.swt.browser.WindowEvent;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * A Web browser widget. It extends the Eclipse SWT Browser widget by adding an
- * optional toolbar complete with a URL combo box, history, back & forward, and
- * refresh buttons.
- * <p>
- * Use the style bits to choose which toolbars are available within the browser
- * composite. You can access the embedded SWT Browser directly using the
- * getBrowser() method.
- * </p>
- * <p>
- * Additional capabilities are available when used as the internal Web browser,
- * including status text and progress on the Eclipse window's status line, or
- * moving the toolbar capabilities up into the main toolbar.
- * </p>
- * <dl>
- * <dt><b>Styles:</b></dt>
- * <dd>LOCATION_BAR, BUTTON_BAR</dd>
- * <dt><b>Events:</b></dt>
- * <dd>None</dd>
- * </dl>
- * 
- * @since 1.0
- */
-public class BrowserViewer extends Composite {
-    /**
-     * Style parameter (value 1) indicating that the URL and Go button will be
-     * on the local toolbar.
-     */
-    public static final int LOCATION_BAR = 1 << 1;
-
-    /**
-     * Style parameter (value 2) indicating that the toolbar will be available
-     * on the web browser. This style parameter cannot be used without the
-     * LOCATION_BAR style.
-     */
-    public static final int BUTTON_BAR = 1 << 2;
-	 
-	 protected static final String PROPERTY_TITLE = "title"; //$NON-NLS-1$
-
-    private static final int MAX_HISTORY = 50;
-
-    public Clipboard clipboard;
-
-    public Combo combo;
-
-    protected boolean showToolbar;
-
-    protected boolean showURLbar;
-
-    protected ToolItem back;
-
-    protected ToolItem forward;
-
-    protected BusyIndicator busy;
-
-    protected boolean loading;
-
-    protected static java.util.List history;
-
-    protected Browser browser;
-    
-    protected BrowserText text;
-
-    protected boolean newWindow;
-
-    protected IBrowserViewerContainer container;
-
-    protected String title;
-
-    protected int progressWorked = 0;
-	 
-	 protected List propertyListeners;
-
-    /**
-     * Under development - do not use
-     */
-    public static interface ILocationListener {
-        public void locationChanged(String url);
-
-        public void historyChanged(String[] history2);
-    }
-
-    public ILocationListener locationListener;
-
-    /**
-     * Under development - do not use
-     */
-    public static interface IBackNextListener {
-        public void updateBackNextBusy();
-    }
-
-    public IBackNextListener backNextListener;
-
-    /**
-     * Creates a new Web browser given its parent and a style value describing
-     * its behavior and appearance.
-     * <p>
-     * The style value is either one of the style constants defined in the class
-     * header or class <code>SWT</code> which is applicable to instances of
-     * this class, or must be built by <em>bitwise OR</em>'ing together (that
-     * is, using the <code>int</code> "|" operator) two or more of those
-     * <code>SWT</code> style constants. The class description lists the style
-     * constants that are applicable to the class. Style bits are also inherited
-     * from superclasses.
-     * </p>
-     * 
-     * @param parent
-     *            a composite control which will be the parent of the new
-     *            instance (cannot be null)
-     * @param style
-     *            the style of control to construct
-     */
-    public BrowserViewer(Composite parent, int style) {
-        super(parent, SWT.NONE);
-		  
-        if ((style & LOCATION_BAR) != 0)
-            showURLbar = true;
-
-        if ((style & BUTTON_BAR) != 0)
-            showToolbar = true;
-
-        GridLayout layout = new GridLayout();
-        layout.marginHeight = 0;
-        layout.marginWidth = 0;
-        layout.horizontalSpacing = 0;
-        layout.verticalSpacing = 0;
-        layout.numColumns = 1;
-        setLayout(layout);
-        setLayoutData(new GridData(GridData.FILL_BOTH));
-        clipboard = new Clipboard(parent.getDisplay());
-        
-        if (showToolbar || showURLbar) {
-            Composite toolbarComp = new Composite(this, SWT.NONE);
-            toolbarComp.setLayout(new ToolbarLayout());
-            toolbarComp.setLayoutData(new GridData(
-                  GridData.VERTICAL_ALIGN_BEGINNING
-                  | GridData.FILL_HORIZONTAL));
-
-            if (showToolbar)
-                createToolbar(toolbarComp);
-            
-				if (showURLbar)
-                createLocationBar(toolbarComp);
-
-				if (showToolbar | showURLbar) {
-				    busy = new BusyIndicator(toolbarComp, SWT.NONE);
-				    busy.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-				    busy.addMouseListener(new MouseListener() {
-						public void mouseDoubleClick(MouseEvent e) {
-							// ignore
-						}
-
-						public void mouseDown(MouseEvent e) {
-							setURL("http://www.eclipse.org"); //$NON-NLS-1$
-						}
-
-						public void mouseUp(MouseEvent e) {
-							// ignore
-						}
-				    });
-				}
-				PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                  ContextIds.WEB_BROWSER); 
-        }
-
-        // create a new SWT Web browser widget, checking once again to make sure
-        // we can use it in this environment
-        //if (WebBrowserUtil.canUseInternalWebBrowser())
-        try {
-            this.browser = new Browser(this, SWT.NONE);
-        }
-        catch (SWTError e) {
-            if (e.code!=SWT.ERROR_NO_HANDLES) {
-                WebBrowserUtil.openError(Messages.errorCouldNotLaunchInternalWebBrowser);
-                return;
-            }
-            text = new BrowserText(this, this, e);
-        }
-
-        if (showURLbar)
-            updateHistory();
-        if (showToolbar)
-            updateBackNextBusy();
-
-         if (browser!=null) {
-            browser.setLayoutData(new GridData(GridData.FILL_BOTH));
-            PlatformUI.getWorkbench().getHelpSystem().setHelp(browser,
-                    ContextIds.WEB_BROWSER);
-        }
-        else
-            text.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        addBrowserListeners();
-        //listen();
-    }
-
-    /**
-     * Returns the underlying SWT browser widget.
-     * 
-     * @return the underlying browser
-     */
-    public Browser getBrowser() {
-        return browser;
-    }
-
-    /**
-     * Navigate to the home URL.
-     */
-    public void home() {
-   	 browser.setText(""); //$NON-NLS-1$
-    }
-
-    /**
-     * Loads a URL.
-     * 
-     * @param url
-     *            the URL to be loaded
-     * @return true if the operation was successful and false otherwise.
-     * @exception IllegalArgumentException
-     *                <ul>
-     *                <li>ERROR_NULL_ARGUMENT - if the url is null</li>
-     *                </ul>
-     * @exception SWTException
-     *                <ul>
-     *                <li>ERROR_THREAD_INVALID_ACCESS when called from the
-     *                wrong thread</li>
-     *                <li>ERROR_WIDGET_DISPOSED when the widget has been
-     *                disposed</li>
-     *                </ul>
-     * @see #getURL()
-     */
-    public void setURL(String url) {
-       setURL(url, true);
-    }
-
-    protected void updateBackNextBusy() {
-        back.setEnabled(isBackEnabled());
-        forward.setEnabled(isForwardEnabled());
-        busy.setBusy(loading);
-
-        if (backNextListener != null)
-            backNextListener.updateBackNextBusy();
-    }
-
-    protected void updateLocation() {
-        if (locationListener != null)
-            locationListener.historyChanged(null);
-
-        if (locationListener != null)
-            locationListener.locationChanged(null);
-    }
-
-    /**
-     *
-     */
-    private void addBrowserListeners() {
-        if (browser==null) return;
-        // respond to ExternalBrowserInstance StatusTextEvents events by
-        // updating the status line
-        browser.addStatusTextListener(new StatusTextListener() {
-            public void changed(StatusTextEvent event) {
-					//System.out.println("status: " + event.text); //$NON-NLS-1$
-                if (container != null) {
-                    IStatusLineManager status = container.getActionBars()
-                            .getStatusLineManager();
-                    status.setMessage(event.text);
-                }
-            }
-        });
-
-        // Add listener for new window creation so that we can instead of
-        // opening a separate
-        // new window in which the session is lost, we can instead open a new
-        // window in a new
-        // shell within the browser area thereby maintaining the session.
-        browser.addOpenWindowListener(new OpenWindowListener() {
-            public void open(WindowEvent event) {
-                Shell shell2 = new Shell(getShell());
-                shell2.setLayout(new FillLayout());
-                shell2.setText(Messages.viewWebBrowserTitle);
-                shell2.setImage(getShell().getImage());
-                if (event.location != null)
-                    shell2.setLocation(event.location);
-                if (event.size != null)
-                    shell2.setSize(event.size);
-					 int style = 0;
-					 if (event.addressBar)
-						 style += LOCATION_BAR;
-					 if (event.toolBar)
-						 style += BUTTON_BAR;
-                BrowserViewer browser2 = new BrowserViewer(shell2, 0);
-                browser2.newWindow = true;
-                event.browser = browser2.browser;
-            }
-        });
-		  
-		  browser.addVisibilityWindowListener(new VisibilityWindowListener() {
-				public void hide(WindowEvent e) {
-					// ignore
-				}
-				
-				public void show(WindowEvent e) {
-					Browser browser2 = (Browser)e.widget;
-					if (browser2.getParent().getParent() instanceof Shell) {
-						Shell shell = (Shell) browser2.getParent().getParent();
-						if (e.location != null)
-							shell.setLocation(e.location);
-						if (e.size != null)
-							shell.setSize(shell.computeSize(e.size.x, e.size.y));
-						shell.open();
-					}
-				}
-			});
-
-        browser.addCloseWindowListener(new CloseWindowListener() {
-            public void close(WindowEvent event) {
-                // if shell is not null, it must be a secondary popup window,
-                // else its an editor window
-                if (newWindow)
-                    getShell().dispose();
-                else
-                    container.close();
-            }
-        });
-
-        browser.addProgressListener(new ProgressListener() {
-            public void changed(ProgressEvent event) {
-					//System.out.println("progress: " + event.current + ", " + event.total); //$NON-NLS-1$ //$NON-NLS-2$
-                if (event.total == 0)
-                    return;
-
-                boolean done = (event.current == event.total);
-
-                int percentProgress = event.current * 100 / event.total;
-                if (container != null) {
-                    IProgressMonitor monitor = container.getActionBars()
-                            .getStatusLineManager().getProgressMonitor();
-                    if (done) {
-                        monitor.done();
-                        progressWorked = 0;
-                    } else if (progressWorked == 0) {
-                        monitor.beginTask("", event.total); //$NON-NLS-1$
-                        progressWorked = percentProgress;
-                    } else {
-                        monitor.worked(event.current - progressWorked);
-                        progressWorked = event.current;
-                    }
-                }
-
-                if (showToolbar) {
-                    if (!busy.isBusy() && !done)
-                        loading = true;
-                    else if (busy.isBusy() && done) // once the progress hits
-                        // 100 percent, done, set
-                        // busy to false
-                        loading = false;
-
-						  //System.out.println("loading: " + loading); //$NON-NLS-1$
-                    updateBackNextBusy();
-                    updateHistory();
-                }
-            }
-
-            public void completed(ProgressEvent event) {
-                if (container != null) {
-                    IProgressMonitor monitor = container.getActionBars()
-                            .getStatusLineManager().getProgressMonitor();
-                    monitor.done();
-                }
-                if (showToolbar) {
-                    loading = false;
-                    updateBackNextBusy();
-                    updateHistory();
-                }
-            }
-        });
-
-        if (showToolbar) {
-            browser.addLocationListener(new LocationListener() {
-                public void changed(LocationEvent event) {
-                    if (!event.top)
-                        return;
-                    if (combo != null) {
-                        if (!"about:blank".equals(event.location)) { //$NON-NLS-1$
-                            combo.setText(event.location);
-                            addToHistory(event.location);
-                            updateHistory();
-                        }// else
-                        //    combo.setText(""); //$NON-NLS-1$
-                    }
-                }
-
-                public void changing(LocationEvent event) {
-                    // do nothing
-                }
-            });
-        }
-
-        browser.addTitleListener(new TitleListener() {
-            public void changed(TitleEvent event) {
-					 String oldTitle = title;
-                title = event.title;
-					 firePropertyChangeEvent(PROPERTY_TITLE, oldTitle, title);
-            }
-        });
-    }
-	 
-	 /**
-		 * Add a property change listener to this instance.
-		 *
-		 * @param listener java.beans.PropertyChangeListener
-		 */
-		public void addPropertyChangeListener(PropertyChangeListener listener) {
-			if (propertyListeners == null)
-				propertyListeners = new ArrayList();
-			propertyListeners.add(listener);
-		}
-
-		/**
-		 * Remove a property change listener from this instance.
-		 *
-		 * @param listener java.beans.PropertyChangeListener
-		 */
-		public void removePropertyChangeListener(PropertyChangeListener listener) {
-			if (propertyListeners != null)
-				propertyListeners.remove(listener);
-		}
-
-		/**
-		 * Fire a property change event.
-		 */
-		protected void firePropertyChangeEvent(String propertyName, Object oldValue, Object newValue) {
-			if (propertyListeners == null)
-				return;
-
-			PropertyChangeEvent event = new PropertyChangeEvent(this, propertyName, oldValue, newValue);
-			//Trace.trace("Firing: " + event + " " + oldValue);
-			try {
-				int size = propertyListeners.size();
-				PropertyChangeListener[] pcl = new PropertyChangeListener[size];
-				propertyListeners.toArray(pcl);
-				
-				for (int i = 0; i < size; i++)
-					try {
-						pcl[i].propertyChange(event);
-					} catch (Exception e) {
-						// ignore
-					}
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-
-    /**
-     * Navigate to the next session history item. Convenience method that calls
-     * the underlying SWT browser.
-     * 
-     * @return <code>true</code> if the operation was successful and
-     *         <code>false</code> otherwise
-     * @exception SWTException
-     *                <ul>
-     *                <li>ERROR_THREAD_INVALID_ACCESS when called from the
-     *                wrong thread</li>
-     *                <li>ERROR_WIDGET_DISPOSED when the widget has been
-     *                disposed</li>
-     *                </ul>
-     * @see #back
-     */
-    public boolean forward() {
-        if (browser==null)
-            return false;
-        return browser.forward();
-    }
-
-    /**
-     * Navigate to the previous session history item. Convenience method that
-     * calls the underlying SWT browser.
-     * 
-     * @return <code>true</code> if the operation was successful and
-     *         <code>false</code> otherwise
-     * @exception SWTException
-     *                <ul>
-     *                <li>ERROR_THREAD_INVALID_ACCESS when called from the
-     *                wrong thread</li>
-     *                <li>ERROR_WIDGET_DISPOSED when the widget has been
-     *                disposed</li>
-     *                </ul>
-     * @see #forward
-     */
-    public boolean back() {
-        if (browser==null)
-            return false;
-        return browser.back();
-    }
-
-    /**
-     * Returns <code>true</code> if the receiver can navigate to the previous
-     * session history item, and <code>false</code> otherwise. Convenience
-     * method that calls the underlying SWT browser.
-     * 
-     * @return the receiver's back command enabled state
-     * @exception SWTException
-     *                <ul>
-     *                <li>ERROR_WIDGET_DISPOSED - if the receiver has been
-     *                disposed</li>
-     *                <li>ERROR_THREAD_INVALID_ACCESS - if not called from the
-     *                thread that created the receiver</li>
-     *                </ul>
-     * @see #back
-     */
-    public boolean isBackEnabled() {
-        if (browser==null)
-            return false;
-        return browser.isBackEnabled();
-    }
-
-    /**
-     * Returns <code>true</code> if the receiver can navigate to the next
-     * session history item, and <code>false</code> otherwise. Convenience
-     * method that calls the underlying SWT browser.
-     * 
-     * @return the receiver's forward command enabled state
-     * @exception SWTException
-     *                <ul>
-     *                <li>ERROR_WIDGET_DISPOSED - if the receiver has been
-     *                disposed</li>
-     *                <li>ERROR_THREAD_INVALID_ACCESS - if not called from the
-     *                thread that created the receiver</li>
-     *                </ul>
-     * @see #forward
-     */
-    public boolean isForwardEnabled() {
-        if (browser==null)
-            return false;
-        return browser.isForwardEnabled();
-    }
-
-    /**
-     * Stop any loading and rendering activity. Convenience method that calls
-     * the underlying SWT browser.
-     * 
-     * @exception SWTException
-     *                <ul>
-     *                <li>ERROR_THREAD_INVALID_ACCESS when called from the
-     *                wrong thread</li>
-     *                <li>ERROR_WIDGET_DISPOSED when the widget has been
-     *                disposed</li>
-     *                </ul>
-     */
-    public void stop() {
-        if (browser!=null)
-            browser.stop();
-    }
-
-    /**
-     * 
-     */
-    private boolean navigate(String url) {
-        Trace.trace(Trace.FINER, "Navigate: " + url); //$NON-NLS-1$
-        if (url != null && url.equals(getURL())) {
-            refresh();
-            return true;
-        }
-        if (browser!=null)
-            return browser.setUrl(url);
-        return text.setUrl(url);
-    }
- 
-    /**
-     * Refresh the current page. Convenience method that calls the underlying
-     * SWT browser.
-     * 
-     * @exception SWTException
-     *                <ul>
-     *                <li>ERROR_THREAD_INVALID_ACCESS when called from the
-     *                wrong thread</li>
-     *                <li>ERROR_WIDGET_DISPOSED when the widget has been
-     *                disposed</li>
-     *                </ul>
-     */
-    public void refresh() {
-        if (browser!=null)
-            browser.refresh();
-        else
-            text.refresh();
-		  try {
-			  Thread.sleep(50);
-		  } catch (Exception e) {
-			  // ignore
-		  }
-    }
-
-    private void setURL(String url, boolean browse) {
-        Trace.trace(Trace.FINEST, "setURL: " + url + " " + browse); //$NON-NLS-1$ //$NON-NLS-2$
-        if (url == null) {
-            home();
-            return;
-        }
-
-        if ("eclipse".equalsIgnoreCase(url)) //$NON-NLS-1$
-            url = "http://www.eclipse.org"; //$NON-NLS-1$
-        else if ("wtp".equalsIgnoreCase(url)) //$NON-NLS-1$
-            url = "http://www.eclipse.org/webtools/"; //$NON-NLS-1$
-
-        if (browse)
-            navigate(url);
-
-        addToHistory(url);
-        updateHistory();
-    }
-
-    protected void addToHistory(String url) {
-        if (history == null)
-            history = WebBrowserPreference.getInternalWebBrowserHistory();
-        int found = -1;
-        int size = history.size();
-        for (int i = 0; i < size; i++) {
-            String s = (String) history.get(i);
-            if (s.equals(url)) {
-                found = i;
-                break;
-            }
-        }
-
-        if (found == -1) {
-            if (size >= MAX_HISTORY)
-                history.remove(size - 1);
-            history.add(0, url);
-            WebBrowserPreference.setInternalWebBrowserHistory(history);
-        } else if (found != 0) {
-            history.remove(found);
-            history.add(0, url);
-            WebBrowserPreference.setInternalWebBrowserHistory(history);
-        }
-    }
-
-    /**
-     *
-     */
-    public void dispose() {
-        super.dispose();
-
-        showToolbar = false;
-
-        if (busy != null)
-            busy.dispose();
-        busy = null;
-
-        browser = null;
-        text = null;
-        if (clipboard!=null)
-        	clipboard.dispose();
-        clipboard=null;
-
-        removeSynchronizationListener();
-    }
-
-    private ToolBar createLocationBar(Composite parent) {
-        combo = new Combo(parent, SWT.DROP_DOWN);
-
-        updateHistory();
-
-        combo.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent we) {
-                try {
-                    if (combo.getSelectionIndex() != -1)
-                        setURL(combo.getItem(combo.getSelectionIndex()));
-                } catch (Exception e) {
-                    // ignore
-                }
-            }
-        });
-        combo.addListener(SWT.DefaultSelection, new Listener() {
-            public void handleEvent(Event e) {
-                setURL(combo.getText());
-            }
-        });
-        
-        ToolBar toolbar = new ToolBar(parent, SWT.FLAT);
-
-        ToolItem go = new ToolItem(toolbar, SWT.NONE);
-        go.setImage(ImageResource.getImage(ImageResource.IMG_ELCL_NAV_GO));
-        go.setHotImage(ImageResource.getImage(ImageResource.IMG_CLCL_NAV_GO));
-        go.setDisabledImage(ImageResource
-                .getImage(ImageResource.IMG_DLCL_NAV_GO));
-        go.setToolTipText(Messages.actionWebBrowserGo);
-        go.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                setURL(combo.getText());
-            }
-        });
-		  
-		  return toolbar;
-    }
-
-    private ToolBar createToolbar(Composite parent) {
-		  ToolBar toolbar = new ToolBar(parent, SWT.FLAT);
-		  
-        // create back and forward actions
-        back = new ToolItem(toolbar, SWT.NONE);
-        back.setImage(ImageResource
-                .getImage(ImageResource.IMG_ELCL_NAV_BACKWARD));
-        back.setHotImage(ImageResource
-                .getImage(ImageResource.IMG_CLCL_NAV_BACKWARD));
-        back.setDisabledImage(ImageResource
-                .getImage(ImageResource.IMG_DLCL_NAV_BACKWARD));
-        back.setToolTipText(Messages.actionWebBrowserBack);
-        back.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                back();
-            }
-        });
-
-        forward = new ToolItem(toolbar, SWT.NONE);
-        forward.setImage(ImageResource
-                .getImage(ImageResource.IMG_ELCL_NAV_FORWARD));
-        forward.setHotImage(ImageResource
-                .getImage(ImageResource.IMG_CLCL_NAV_FORWARD));
-        forward.setDisabledImage(ImageResource
-                .getImage(ImageResource.IMG_DLCL_NAV_FORWARD));
-        forward.setToolTipText(Messages.actionWebBrowserForward);
-        forward.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                forward();
-            }
-        });
-
-        // create refresh, stop, and print actions
-        ToolItem stop = new ToolItem(toolbar, SWT.NONE);
-        stop.setImage(ImageResource.getImage(ImageResource.IMG_ELCL_NAV_STOP));
-        stop.setHotImage(ImageResource
-                .getImage(ImageResource.IMG_CLCL_NAV_STOP));
-        stop.setDisabledImage(ImageResource
-                .getImage(ImageResource.IMG_DLCL_NAV_STOP));
-        stop.setToolTipText(Messages.actionWebBrowserStop);
-        stop.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                stop();
-            }
-        });
-
-        ToolItem refresh = new ToolItem(toolbar, SWT.NONE);
-        refresh.setImage(ImageResource
-                .getImage(ImageResource.IMG_ELCL_NAV_REFRESH));
-        refresh.setHotImage(ImageResource
-                .getImage(ImageResource.IMG_CLCL_NAV_REFRESH));
-        refresh.setDisabledImage(ImageResource
-                .getImage(ImageResource.IMG_DLCL_NAV_REFRESH));
-        refresh.setToolTipText(Messages.actionWebBrowserRefresh);
-        refresh.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                refresh();
-            }
-        });
-		  
-		  return toolbar;
-    }
-
-    /**
-     * Returns the current URL. Convenience method that calls the underlying SWT
-     * browser.
-     * 
-     * @return the current URL or an empty <code>String</code> if there is no
-     *         current URL
-     * @exception SWTException
-     *                <ul>
-     *                <li>ERROR_THREAD_INVALID_ACCESS when called from the
-     *                wrong thread</li>
-     *                <li>ERROR_WIDGET_DISPOSED when the widget has been
-     *                disposed</li>
-     *                </ul>
-     * @see #setURL(String)
-     */
-    public String getURL() {
-        if (browser!=null)
-            return browser.getUrl();
-        return text.getUrl();
-    }
-
-    public boolean setFocus() {
-        if (browser!=null) {
-            browser.setFocus();
-            updateHistory();
-            return true;
-        }
-        return super.setFocus();
-    }
-
-    /**
-     * Update the history list to the global/shared copy.
-     */
-    protected void updateHistory() {
-        if (combo == null)
-            return;
-
-        String temp = combo.getText();
-        if (history == null)
-            history = WebBrowserPreference.getInternalWebBrowserHistory();
-
-        String[] historyList = new String[history.size()];
-        history.toArray(historyList);
-        combo.setItems(historyList);
-
-        combo.setText(temp);
-    }
-
-    public IBrowserViewerContainer getContainer() {
-        return container;
-    }
-
-    public void setContainer(IBrowserViewerContainer container) {
-    	if (container==null && this.container!=null) {
-    		IStatusLineManager manager = this.container.getActionBars().getStatusLineManager();
-    		if (manager!=null) 
-    			manager.getProgressMonitor().done();
-    	}
-        this.container = container;
-    }
-
-    protected File file;
-    protected long timestamp;
-    protected Thread fileListenerThread;
-    protected LocationListener locationListener2;
-    protected Object syncObject = new Object();
-    
-    protected void addSynchronizationListener() {
-   	 if (fileListenerThread != null)
-   		 return;
-   	 
-   	 fileListenerThread = new Thread("Browser file synchronization") { //$NON-NLS-1$
-   		 public void run() {
-   			 while (fileListenerThread != null) {
-   				 try {
-   					 Thread.sleep(2000);
-   				 } catch (Exception e) {
-   					 // ignore
-   				 }
-   				 synchronized (syncObject) {
-						 if (file != null && file.lastModified() != timestamp) {
-	   					 timestamp = file.lastModified();
-	   					 Display.getDefault().syncExec(new Runnable() {
-	 							public void run() {
-	 								refresh();
-	 							}
-	   					 });
-						 }
-					  }
-   			 }
-   		 }
-   	 };
-   	 fileListenerThread.setDaemon(true);
-   	 fileListenerThread.setPriority(Thread.MIN_PRIORITY);
-   	 
-   	 locationListener2 = new LocationListener() {
-          public void changed(LocationEvent event) {
-         	 File temp = getFile(event.location);
-         	 if (temp != null && temp.exists()) {
-         		 synchronized (syncObject) {
-         			 file = temp;
-            		 timestamp = file.lastModified();
-					 }
-         	 } else
-         		 file = null;
-          }
-          
-          public void changing(LocationEvent event) {
-             // do nothing
-         }
-       };
-       browser.addLocationListener(locationListener2);
-       
-       File temp = getFile(browser.getUrl());
-   	 if (temp != null && temp.exists()) {
-   		file = temp;
-      	timestamp = file.lastModified();
-   	 }
-   	 fileListenerThread.start();
-    }
-
-    protected static File getFile(String location) {
-   	 if (location == null)
-   		 return null;
-   	 if (location.startsWith("file:/")) //$NON-NLS-1$
-   		 location = location.substring(6);
-   	 
-   	 return new File(location);
-    }
-
-    protected void removeSynchronizationListener() {
-   	 if (fileListenerThread == null)
-   		 return;
-   	 
-   	 fileListenerThread = null;
-   	 browser.removeLocationListener(locationListener2);
-   	 locationListener2 = null;
-    }
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BusyIndicator.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BusyIndicator.java
deleted file mode 100644
index 990e118..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/BusyIndicator.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-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.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-/**
- * An animated image to show busy status of the Web browser.
- */
-public class BusyIndicator extends Canvas {
-	protected Image[] images;
-	protected Image image;
-
-	protected Thread busyThread;
-	protected boolean stop;
-
-	/**
-	 * BusyWidget constructor comment.
-	 * @param parent org.eclipse.swt.widgets.Composite
-	 * @param style int
-	 */
-	public BusyIndicator(Composite parent, int style) {
-		super(parent, style);
-	
-		images = ImageResource.getBusyImages();
-	
-		addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent event) {
-				onPaint(event);
-			}
-		});
-	
-		image = images[0];
-	}
-	
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		return new Point(25, 25);
-	}
-	
-	/**
-	 * Creates a thread to animate the image.
-	 */
-	protected synchronized void createBusyThread() {
-		if (busyThread != null)
-			return;
-	
-		stop = false;
-		busyThread = new Thread() {
-			protected int count;
-			public void run() {
-				try {
-					count = 1;
-					while (!stop) {
-						Display.getDefault().syncExec(new Runnable() {
-							public void run() {
-								if (!stop) {
-									if (count < 13)
-										setImage(images[count]);
-									count++;
-									if (count > 12)
-										count = 1;
-								}
-							}
-						});
-						try {
-							sleep(125);
-						} catch (Exception e) {
-							// ignore
-						}
-					}
-					if (busyThread == null)
-						Display.getDefault().syncExec(new Thread() {
-							public void run() {
-								setImage(images[0]);
-							}
-						});
-				} catch (Exception e) {
-					Trace.trace(Trace.WARNING, "Busy error", e); //$NON-NLS-1$
-				}
-			}
-		};
-	
-		busyThread.setPriority(Thread.NORM_PRIORITY + 2);
-		busyThread.setDaemon(true);
-		busyThread.start();
-	}
-	
-	public void dispose() {
-		stop = true;
-		busyThread = null;
-		super.dispose();
-	}
-	
-	/**
-	 * Return the image or <code>null</code>.
-	 */
-	public Image getImage() {
-		return image;
-	}
-
-	/**
-	 * Returns true if it is currently busy.
-	 *
-	 * @return boolean
-	 */
-	public boolean isBusy() {
-		return (busyThread != null);
-	}
-
-	/* 
-	 * Process the paint event
-	 */
-	protected void onPaint(PaintEvent event) {
-		Rectangle rect = getClientArea();
-		if (rect.width == 0 || rect.height == 0)
-			return;
-	
-		GC gc = event.gc;
-		if (image != null)
-			gc.drawImage(image, 2, 2);
-	}
-
-	/**
-	 * Sets the indicators busy count up (true) or down (false) one.
-	 *
-	 * @param busy boolean
-	 */
-	public synchronized void setBusy(boolean busy) {
-		if (busy) {
-			if (busyThread == null)
-				createBusyThread();
-		} else {
-			if (busyThread != null) {
-				stop = true;
-				busyThread = null;
-			}
-		}
-	}
-
-	/**
-	 * Set the image.
-	 * The value <code>null</code> clears it.
-	 */
-	public void setImage(Image image) {
-		if (image != this.image && !isDisposed()) {
-			this.image = image;
-			redraw();
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ContextIds.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ContextIds.java
deleted file mode 100644
index 0a7c12e..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ContextIds.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-/**
- * Context help id constants.
- */
-public interface ContextIds {
-	public static final String PREF_BROWSER = WebBrowserUIPlugin.PLUGIN_ID + ".browser_preference_page_context"; //$NON-NLS-1$
-	public static final String PREF_BROWSER_DIALOG = WebBrowserUIPlugin.PLUGIN_ID + ".browser_preference_page_dialog_context"; //$NON-NLS-1$
-	public static final String WEB_BROWSER = WebBrowserUIPlugin.PLUGIN_ID + ".browser_context"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/DefaultBrowserSupport.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/DefaultBrowserSupport.java
deleted file mode 100644
index 8c7b9dc..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/DefaultBrowserSupport.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.util.HashMap;
-import java.util.Observable;
-import java.util.Observer;
-
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.browser.AbstractWorkbenchBrowserSupport;
-import org.eclipse.ui.browser.IWebBrowser;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-
-/**
- * Implementation of the workbench browser support.
- */
-public class DefaultBrowserSupport extends AbstractWorkbenchBrowserSupport {
-	static final String SHARED_ID = "org.eclipse.ui.browser"; //$NON-NLS-1$
-
-	protected HashMap browserIdMap = new HashMap();
-
-	protected static DefaultBrowserSupport instance;
-
-	public DefaultBrowserSupport() {
-		// do nothing
-		instance = this;
-		BrowserManager.getInstance().addObserver(new Observer() {
-			public void update(Observable o, Object arg) {
-				// TODO I am not sure what we should do here
-				// The preferences have changed so maybe we should
-				// close the opened browsers in addition to clearing
-				// the table
-				browserIdMap.clear();
-			}
-		});
-	}
-
-	protected static DefaultBrowserSupport getInstance() {
-		return instance;
-	}
-
-	protected IWebBrowser getExistingWebBrowser(String browserId) {
-		try {
-			Object obj = browserIdMap.get(browserId);
-			IWebBrowser browser = null;
-			if (obj instanceof IWebBrowser)
-				browser = (IWebBrowser) obj;
-			else if (obj instanceof HashMap) {
-				HashMap wmap = (HashMap) obj;
-				IWorkbenchWindow window = PlatformUI.getWorkbench()
-						.getActiveWorkbenchWindow();
-				if (window != null) {
-					browser = (IWebBrowser) wmap.get(getWindowKey(window));
-				}
-			}
-			if (browser != null)
-				return browser;
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-
-	private Integer getWindowKey(IWorkbenchWindow window) {
-		return new Integer(window.hashCode());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.browser.IWorkbenchBrowserSupport#createBrowser(int,
-	 *      java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public IWebBrowser createBrowser(int style, String browserId, String name,
-			String tooltip) throws PartInitException {
-		if (browserId == null)
-			browserId = SHARED_ID;
-		IWebBrowser browser = getExistingWebBrowser(browserId);
-		if (browser != null) {
-			if (browser instanceof InternalBrowserInstance) {
-				InternalBrowserInstance instance2 = (InternalBrowserInstance) browser;
-				instance2.setName(name);
-				instance2.setTooltip(tooltip);
-			}
-			return browser;
-		}
-
-		IWebBrowser webBrowser = null;
-
-		// AS_EXTERNAL will force the external browser regardless of the user
-		// preference
-		if ((style & AS_EXTERNAL) != 0
-				|| WebBrowserPreference.getBrowserChoice() != WebBrowserPreference.INTERNAL) {
-			IBrowserDescriptor ewb = BrowserManager.getInstance()
-					.getCurrentWebBrowser();
-			if (ewb == null)
-				throw new PartInitException(Messages.errorNoBrowser);
-			
-			if (ewb instanceof SystemBrowserDescriptor)
-				webBrowser = new SystemBrowserInstance(browserId);
-			else {
-				IBrowserExt ext = null;
-				if (ewb != null)
-					ext = WebBrowserUIPlugin.findBrowsers(ewb.getLocation());
-				if (ext != null)
-					webBrowser = ext.createBrowser(browserId,
-							ewb.getLocation(), ewb.getParameters());
-				if (webBrowser == null)
-					webBrowser = new ExternalBrowserInstance(browserId, ewb);
-			}
-		} else {
-			if ((style & IWorkbenchBrowserSupport.AS_VIEW) != 0)
-				webBrowser = new InternalBrowserViewInstance(browserId, style,
-						name, tooltip);
-			else
-				webBrowser = new InternalBrowserEditorInstance(browserId,
-						style, name, tooltip);
-		}
-
-		if (webBrowser instanceof InternalBrowserInstance) {
-			// we should only share internal browsers within one
-			// workbench window. Each workbench window can have
-			// a shared browser with the same id
-			IWorkbenchWindow window = PlatformUI.getWorkbench()
-					.getActiveWorkbenchWindow();
-			Integer key = getWindowKey(window);
-			HashMap wmap = (HashMap) browserIdMap.get(browserId);
-			if (wmap == null) {
-				wmap = new HashMap();
-				browserIdMap.put(browserId, wmap);
-			}
-			wmap.put(key, webBrowser);
-		} else {
-			// external and system browsers are shared
-			// for the entire workbench
-			browserIdMap.put(browserId, webBrowser);
-		}
-		return webBrowser;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.browser.IWorkbenchBrowserSupport#createBrowser(java.lang.String)
-	 */
-	public IWebBrowser createBrowser(String browserId) throws PartInitException {
-		return createBrowser(0, browserId, null, null);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.browser.IWorkbenchBrowserSupport#isInternalWebBrowserAvailable()
-	 */
-	public boolean isInternalWebBrowserAvailable() {
-		return WebBrowserUtil.canUseInternalWebBrowser();
-	}
-
-	protected void removeBrowser(IWebBrowser browser) {
-		String baseId = WebBrowserUtil.decodeId(browser.getId());
-		if (browser instanceof InternalBrowserInstance) {
-			// Remove it from the window map and
-			// also remove the window map itself if it is empty.
-			Integer key = ((InternalBrowserInstance) browser).getWindowKey();
-			HashMap wmap = (HashMap) browserIdMap.get(baseId);
-			if (wmap != null) {
-				wmap.remove(key);
-				if (wmap.isEmpty())
-					browserIdMap.remove(baseId);
-			}
-		} else
-			browserIdMap.remove(baseId);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ExternalBrowserInstance.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ExternalBrowserInstance.java
deleted file mode 100644
index dd26c6e..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ExternalBrowserInstance.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.net.URL;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.browser.AbstractWebBrowser;
-
-/**
- * An instance of a running Web browser. rundll32.exe
- * url.dll,FileProtocolHandler www.ibm.com
- */
-public class ExternalBrowserInstance extends AbstractWebBrowser {
-	protected IBrowserDescriptor browser;
-
-	protected Process process;
-
-	public ExternalBrowserInstance(String id, IBrowserDescriptor browser) {
-		super(id);
-		this.browser = browser;
-	}
-
-	public void openURL(URL url) throws PartInitException {
-		String urlText = null;
-
-		if (url != null)
-			urlText = url.toExternalForm();
-
-		// change spaces to "%20"
-		if (urlText != null && !WebBrowserUtil.isWindows()) {
-			int index = urlText.indexOf(" "); //$NON-NLS-1$
-			while (index >= 0) {
-				urlText = urlText.substring(0, index)
-						+ "%20" + urlText.substring(index + 1); //$NON-NLS-1$
-				index = urlText.indexOf(" "); //$NON-NLS-1$
-			}
-		}
-
-		String location = browser.getLocation();
-		String parameters = browser.getParameters();
-		Trace
-				.trace(
-						Trace.FINEST,
-						"Launching external Web browser: " + location + " - " + parameters + " - " + urlText); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-		String params = parameters;
-		if (params == null)
-			params = ""; //$NON-NLS-1$
-
-		if (urlText != null) {
-			int urlIndex = params.indexOf(IBrowserDescriptor.URL_PARAMETER);
-			if (urlIndex >= 0)
-				params = params.substring(0, urlIndex)
-						+ " " + urlText + " " + params.substring(urlIndex + IBrowserDescriptor.URL_PARAMETER.length()); //$NON-NLS-1$ //$NON-NLS-2$
-			else {
-				if (!params.endsWith(" ")) //$NON-NLS-1$
-					params += " "; //$NON-NLS-1$ 
-				params += urlText;
-			}
-		}
-
-		try {
-			Trace.trace(Trace.FINEST, "Launching " + location + " " + params); //$NON-NLS-1$//$NON-NLS-2$
-			if (params == null || params.length() == 0)
-				process = Runtime.getRuntime().exec(location);
-			else
-				process = Runtime.getRuntime().exec(location + " " + params); //$NON-NLS-1$
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not launch external browser", e); //$NON-NLS-1$
-			WebBrowserUtil.openError(NLS.bind(
-					Messages.errorCouldNotLaunchWebBrowser, urlText));
-		}
-		Thread thread = new Thread() {
-			public void run() {
-				try {
-					process.waitFor();
-					DefaultBrowserSupport.getInstance().removeBrowser(
-							ExternalBrowserInstance.this);
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		};
-		thread.setDaemon(true);
-		thread.start();
-	}
-
-	public boolean close() {
-		try {
-			process.destroy();
-			return true;
-		} catch (Exception e) {
-			return false;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/FallbackScrolledComposite.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/FallbackScrolledComposite.java
deleted file mode 100644
index 87bc93c..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/FallbackScrolledComposite.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.graphics.Color;
-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.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.ScrollBar;
-
-public abstract class FallbackScrolledComposite 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 FallbackScrolledComposite(Composite parent, int style) {
-        super(parent, style);
-        addListener(SWT.Resize, new Listener() {
-            public void handleEvent(Event e) {
-                reflow(true);
-            }
-        });
-        setExpandVertical(true);
-        setExpandHorizontal(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();
-        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;
-
-        Point newSize = c
-                .computeSize(clientArea.width, SWT.DEFAULT, flushCache);
-
-        setMinSize(newSize);
-        updatePageIncrement();
-        layout(flushCache);
-    }
-
-    private void updatePageIncrement() {
-        ScrollBar vbar = getVerticalBar();
-        if (vbar != null) {
-            Rectangle clientArea = getClientArea();
-            int increment = clientArea.height - 5;
-            vbar.setPageIncrement(increment);
-        }
-    }
-
-    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);
-        }
-        updatePageIncrement();
-    }
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserDescriptor.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserDescriptor.java
deleted file mode 100644
index 9d57daf..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserDescriptor.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-/**
- * An interface to an external Web browser.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see IBrowserDescriptorWorkingCopy
- * @since 1.0
- */
-public interface IBrowserDescriptor {
-	public static final String URL_PARAMETER = "%URL%"; //$NON-NLS-1$
-
-	/**
-	 * Returns the displayable name of the Web browser.
-	 *  
-	 * @return the name
-	 */
-	public String getName();
-
-	/**
-	 * Returns the absolute path to the location of the Web browser's executable.
-	 * The location is platform specific and may return null if no location has been
-	 * set.
-	 * 
-	 * @return the path to the executable
-	 */
-	public String getLocation();
-
-	/**
-	 * Returns the parameters that should be used to launch the Web browser executable.
-	 * %URL% is used if the URL should be inserted into the parameters. If there are
-	 * no parameters, <code>null</code> is returned.
-	 * 
-	 * @return the parameters
-	 */
-	public String getParameters();
-
-	/**
-	 * Deletes this Web browser. The browser will no longer be available to users.
-	 * This method has no effect if the browser has already been deleted or has never
-	 * been saved.
-	 */
-	public void delete();
-
-	/**
-	 * Returns whether this browser is a working copy. Browsers which return
-	 * <code>true</code> to this method can be safely cast to 
-	 * <code>org.eclipse.ui.internal.browser.IBrowserDescriptorWorkingCopy</code>
-	 * 
-	 * @return whether this browser is a working copy
-	 */
-	public boolean isWorkingCopy();
-
-	/**
-	 * Returns a working copy of this browser. Changes to the working copy will be
-	 * applied to this browser when saved.
-	 * 
-	 * @return a working copy of this browser
-	 */
-	public IBrowserDescriptorWorkingCopy getWorkingCopy();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserDescriptorWorkingCopy.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserDescriptorWorkingCopy.java
deleted file mode 100644
index e21f991..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserDescriptorWorkingCopy.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-/**
- * A working copy of an external web browser.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see org.eclipse.ui.internal.browser.IWebBrowser
- * @see IBrowserDescriptor
- * @since 1.0
- */
-public interface IBrowserDescriptorWorkingCopy extends IBrowserDescriptor {
-	/**
-	 * Renames this browser to the specified name. The new name cannot be <code>null</code>.
-	 * 
-	 * @param name the new name for this browser
-	 */
-	public void setName(String name);
-
-	/**
-	 * Set the location of this browsers executable. The location must not be <code>null</code>.
-	 * 
-	 * @param location the new location
-	 */
-	public void setLocation(String location);
-
-	/**
-	 * Set the parameters for this browser. If there are no parameters, the parameters
-	 * should be null.
-	 * 
-	 * @param params the new parameters
-	 */
-	public void setParameters(String params);
-
-	/**
-	 * Saves the changes to this working copy and returns the resulting web browser.
-	 *
-	 * @return the modified or created browser
-	 */
-	public IBrowserDescriptor save();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserExt.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserExt.java
deleted file mode 100644
index 67d1bc3..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserExt.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.ui.browser.IWebBrowser;
-
-/**
- * A 
- * 
- * <p>This interface is not intended to be implemented by clients.</p>
- * 
- * @since 1.0
- */
-public interface IBrowserExt {
-	/**
-	 * Returns the id of this client. Each known client has a distinct id. 
-	 * Ids are intended to be used internally as keys; they are not
-	 * intended to be shown to end users.
-	 * 
-	 * @return the client id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the displayable name for this client.
-	 * <p>
-	 * Note that this name is appropriate for the current locale.
-	 * </p>
-	 *
-	 * @return a displayable name for this client
-	 */
-	public String getName();
-
-	/**
-	 * Returns the parameters for this browser.
-	 *
-	 * @return the parameters for this browser
-	 */
-	public String getParameters();
-
-	/**
-	 * Returns the browser's executable.
-	 *
-	 * @return the browser's executable
-	 */
-	public String getExecutable();
-	
-	/**
-	 * Returns the OSs that this browser is available on.
-	 *
-	 * @return an array of OSs that this browser runs on
-	 */
-	public String getOS();
-	
-	/**
-	 * Returns the default install locations of this browser.
-	 *
-	 * @return the default install locations of this browser
-	 */
-	public String[] getDefaultLocations();
-	
-	/**
-	 * Checks whether the factory can work on the user system.
-	 * 
-	 * @return false if the factory cannot work on this system; for example the
-	 *    required native browser required by browser adapters that it
-	 *    creates is not installed
-	 */
-	public boolean isAvailable();
-
-	/**
-	 * Obtains a new instance of a web browser.
-	 * 
-	 * @return instance of IBrowser
-	 */
-	public IWebBrowser createBrowser(String id, String location, String parameters);
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserViewerContainer.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserViewerContainer.java
deleted file mode 100644
index cb84ff2..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/IBrowserViewerContainer.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.ui.IActionBars;
-
-public interface IBrowserViewerContainer {
-    /**
-     * Closes the container from the inside.
-     * @return 
-     */
-    boolean close();
-    /**
-     * Returns the action bars of the container.
-     * @return action bars of the container or <code>null</code> if
-     * not available.
-     */
-    IActionBars getActionBars();
-    /**
-     * Opens the url in the external browser if
-     * internal browser failed to create.
-     * @param url
-     */
-    void openInExternalBrowser(String url);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ImageResource.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ImageResource.java
deleted file mode 100644
index 2346e00..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ImageResource.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.net.URL;
-import java.util.Map;
-import java.util.HashMap;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-/**
- * Utility class to handle image resources.
- */
-public class ImageResource {
-	// the image registry
-	private static ImageRegistry imageRegistry;
-
-	// map of image descriptors since these
-	// will be lost by the image registry
-	private static Map imageDescriptors;
-
-	private static Image[] busyImages;
-
-	private static final String URL_PREFIX = "$nl$/icons/"; //$NON-NLS-1$
-	private static final String URL_CLCL = URL_PREFIX + "clcl16/"; //$NON-NLS-1$
-	private static final String URL_ELCL = URL_PREFIX + "elcl16/"; //$NON-NLS-1$
-	private static final String URL_DLCL = URL_PREFIX + "dlcl16/"; //$NON-NLS-1$
-	private static final String URL_OBJ = URL_PREFIX + "obj16/"; //$NON-NLS-1$
-
-	// --- constants for images ---
-	// toolbar images
-	public static final String IMG_CLCL_NAV_BACKWARD = "IMG_CLCL_NAV_BACKWARD"; //$NON-NLS-1$
-	public static final String IMG_CLCL_NAV_FORWARD = "IMG_CLCL_NAV_FORWARD"; //$NON-NLS-1$
-	public static final String IMG_CLCL_NAV_STOP = "IMG_CLCL_NAV_STOP"; //$NON-NLS-1$
-	public static final String IMG_CLCL_NAV_REFRESH = "IMG_CLCL_NAV_REFRESH"; //$NON-NLS-1$
-	public static final String IMG_CLCL_NAV_GO = "IMG_CLCL_NAV_GO"; //$NON-NLS-1$
-	public static final String IMG_CLCL_NAV_HOME = "IMG_CLCL_NAV_HOME"; //$NON-NLS-1$
-	public static final String IMG_CLCL_NAV_PRINT = "IMG_CLCL_NAV_PRINT"; //$NON-NLS-1$
-
-	public static final String IMG_ELCL_NAV_BACKWARD = "IMG_ELCL_NAV_BACKWARD"; //$NON-NLS-1$
-	public static final String IMG_ELCL_NAV_FORWARD = "IMG_ELCL_NAV_FORWARD"; //$NON-NLS-1$
-	public static final String IMG_ELCL_NAV_STOP = "IMG_ELCL_NAV_STOP"; //$NON-NLS-1$
-	public static final String IMG_ELCL_NAV_REFRESH = "IMG_ELCL_NAV_REFRESH"; //$NON-NLS-1$
-	public static final String IMG_ELCL_NAV_GO = "IMG_ELCL_NAV_GO"; //$NON-NLS-1$
-	public static final String IMG_ELCL_NAV_HOME = "IMG_ELCL_NAV_HOME"; //$NON-NLS-1$
-	public static final String IMG_ELCL_NAV_PRINT = "IMG_ELCL_NAV_PRINT"; //$NON-NLS-1$
-
-	public static final String IMG_DLCL_NAV_BACKWARD = "IMG_DLCL_NAV_BACKWARD"; //$NON-NLS-1$
-	public static final String IMG_DLCL_NAV_FORWARD = "IMG_DLCL_NAV_FORWARD"; //$NON-NLS-1$
-	public static final String IMG_DLCL_NAV_STOP = "IMG_DLCL_NAV_STOP"; //$NON-NLS-1$
-	public static final String IMG_DLCL_NAV_REFRESH = "IMG_DLCL_NAV_REFRESH"; //$NON-NLS-1$
-	public static final String IMG_DLCL_NAV_GO = "IMG_DLCL_NAV_GO"; //$NON-NLS-1$
-	public static final String IMG_DLCL_NAV_HOME = "IMG_DLCL_NAV_HOME"; //$NON-NLS-1$
-	public static final String IMG_DLCL_NAV_PRINT = "IMG_DLCL_NAV_PRINT"; //$NON-NLS-1$
-
-	// general object images
-	public static final String IMG_INTERNAL_BROWSER = "internalBrowser"; //$NON-NLS-1$
-	public static final String IMG_EXTERNAL_BROWSER = "externalBrowser"; //$NON-NLS-1$
-	public static final String IMG_SYSTEM_BROWSER = "systemBrowser"; //$NON-NLS-1$
-
-	/**
-	 * Cannot construct an ImageResource. Use static methods only.
-	 */
-	private ImageResource() {
-		// do nothing
-	}
-
-	/**
-	 * Returns the busy images for the Web browser.
-	 *
-	 * @return org.eclipse.swt.graphics.Image[]
-	 */
-	public static Image[] getBusyImages() {
-		return busyImages;
-	}
-
-	/**
-	 * Return the image with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return org.eclipse.swt.graphics.Image
-	 */
-	public static Image getImage(String key) {
-		if (imageRegistry == null)
-			initializeImageRegistry();
-		return imageRegistry.get(key);
-	}
-
-	/**
-	 * Return the image descriptor with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return org.eclipse.jface.resource.ImageDescriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		if (imageRegistry == null)
-			initializeImageRegistry();
-		return (ImageDescriptor) imageDescriptors.get(key);
-	}
-
-	/**
-	 * Initialize the image resources.
-	 */
-	protected static void initializeImageRegistry() {
-		imageRegistry = new ImageRegistry();
-		imageDescriptors = new HashMap();
-	
-		// load Web browser images
-		registerImage(IMG_ELCL_NAV_BACKWARD, URL_ELCL + "nav_backward.gif"); //$NON-NLS-1$
-		registerImage(IMG_ELCL_NAV_FORWARD, URL_ELCL + "nav_forward.gif"); //$NON-NLS-1$
-		registerImage(IMG_ELCL_NAV_STOP, URL_ELCL + "nav_stop.gif"); //$NON-NLS-1$
-		registerImage(IMG_ELCL_NAV_REFRESH, URL_ELCL + "nav_refresh.gif"); //$NON-NLS-1$
-		registerImage(IMG_ELCL_NAV_GO, URL_ELCL + "nav_go.gif"); //$NON-NLS-1$
-		registerImage(IMG_ELCL_NAV_HOME, URL_ELCL + "nav_home.gif"); //$NON-NLS-1$
-		registerImage(IMG_ELCL_NAV_PRINT, URL_ELCL + "nav_print.gif"); //$NON-NLS-1$
-	
-		registerImage(IMG_CLCL_NAV_BACKWARD, URL_CLCL + "nav_backward.gif"); //$NON-NLS-1$
-		registerImage(IMG_CLCL_NAV_FORWARD, URL_CLCL + "nav_forward.gif"); //$NON-NLS-1$
-		registerImage(IMG_CLCL_NAV_STOP, URL_CLCL + "nav_stop.gif"); //$NON-NLS-1$
-		registerImage(IMG_CLCL_NAV_REFRESH, URL_CLCL + "nav_refresh.gif"); //$NON-NLS-1$
-		registerImage(IMG_CLCL_NAV_GO, URL_CLCL + "nav_go.gif"); //$NON-NLS-1$
-		registerImage(IMG_CLCL_NAV_HOME, URL_CLCL + "nav_home.gif"); //$NON-NLS-1$
-		registerImage(IMG_CLCL_NAV_PRINT, URL_CLCL + "nav_print.gif"); //$NON-NLS-1$
-	
-		registerImage(IMG_DLCL_NAV_BACKWARD, URL_DLCL + "nav_backward.gif"); //$NON-NLS-1$
-		registerImage(IMG_DLCL_NAV_FORWARD, URL_DLCL + "nav_forward.gif"); //$NON-NLS-1$
-		registerImage(IMG_DLCL_NAV_STOP, URL_DLCL + "nav_stop.gif"); //$NON-NLS-1$
-		registerImage(IMG_DLCL_NAV_REFRESH, URL_DLCL + "nav_refresh.gif"); //$NON-NLS-1$
-		registerImage(IMG_DLCL_NAV_GO, URL_DLCL + "nav_go.gif"); //$NON-NLS-1$
-		registerImage(IMG_DLCL_NAV_HOME, URL_DLCL + "nav_home.gif"); //$NON-NLS-1$
-		registerImage(IMG_DLCL_NAV_PRINT, URL_DLCL + "nav_print.gif"); //$NON-NLS-1$
-	
-		registerImage(IMG_INTERNAL_BROWSER, URL_OBJ + "internal_browser.gif"); //$NON-NLS-1$
-		registerImage(IMG_EXTERNAL_BROWSER, URL_OBJ + "external_browser.gif"); //$NON-NLS-1$
-		
-		// busy images
-		busyImages = new Image[13];
-		for (int i = 0; i < 13; i++) {
-			registerImage("busy" + i, URL_OBJ + "busy/" + (i+1) + ".gif"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			busyImages[i] = getImage("busy" + i); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Register an image with the registry.
-	 *
-	 * @param key java.lang.String
-	 * @param partialURL java.lang.String
-	 */
-	private static void registerImage(String key, String partialURL) {
-		try {
-			URL url = FileLocator.find(WebBrowserUIPlugin.getInstance().getBundle(), new Path(partialURL), null);
-			ImageDescriptor id = ImageDescriptor.createFromURL(url);
-			imageRegistry.put(key, id);
-			imageDescriptors.put(key, id);
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Error registering image " + key + " from " + partialURL, e); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserEditorInstance.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserEditorInstance.java
deleted file mode 100644
index d97105f..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserEditorInstance.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.net.URL;
-
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-/**
- * An instance of a running Web browser.
- */
-public class InternalBrowserEditorInstance extends InternalBrowserInstance {
-
-	public InternalBrowserEditorInstance(String id, int style, String name, String tooltip) {
-		super(id, style, name, tooltip);
-	}
-
-	public void openURL(URL url) throws PartInitException {
-		WebBrowserEditorInput input = new WebBrowserEditorInput(url, style);
-		input.setName(this.name);
-		input.setToolTipText(this.tooltip);
-		WebBrowserEditor editor = (WebBrowserEditor)part;
-		
-		IWorkbenchWindow workbenchWindow = WebBrowserUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow();
-		IWorkbenchPage page = null;
-		if (workbenchWindow != null)
-			page = workbenchWindow.getActivePage();
-		
-		if (page == null)
-			throw new PartInitException(Messages.errorCouldNotLaunchInternalWebBrowser);
-		
-		if (editor != null) {
-			editor.init(editor.getEditorSite(), input);
-			page.activate(editor);
-		} else {
-			try {
-				IEditorPart editorPart = page.openEditor(input, WebBrowserEditor.WEB_BROWSER_EDITOR_ID);
-				hookPart(page, editorPart);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error opening Web browser", e); //$NON-NLS-1$
-			}
-		}
-	}
-
-	public boolean close() {
-		try {
-			return ((WebBrowserEditor)part).close();
-		} catch (Exception e) {
-			return false;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserInstance.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserInstance.java
deleted file mode 100644
index 87f4811..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserInstance.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.browser.AbstractWebBrowser;
-
-/**
- * An instance of a running Web browser.
- */
-public abstract class InternalBrowserInstance extends AbstractWebBrowser {
-	protected int style;
-
-	protected String name;
-
-	protected String tooltip;
-
-	protected IWorkbenchPart part;
-
-	protected IPartListener listener;
-	
-	private Integer windowKey;
-
-	public InternalBrowserInstance(String id, int style, String name,
-			String tooltip) {
-		super(WebBrowserUtil.encodeStyle(id, style));
-		this.style = style;
-		this.name = name;
-		this.tooltip = tooltip;
-	}
-
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	public void setTooltip(String tooltip) {
-		this.tooltip = tooltip;
-	}
-
-	protected void hookPart(final IWorkbenchPage page, IWorkbenchPart part2) {
-		this.part = part2;
-		listener = new IPartListener() {
-			public void partActivated(IWorkbenchPart part3) {
-				// ignore
-			}
-
-			public void partBroughtToTop(IWorkbenchPart part3) {
-				// ignore
-			}
-
-			public void partClosed(IWorkbenchPart part3) {
-				if (part3.equals(InternalBrowserInstance.this.part)) {
-					InternalBrowserInstance.this.part = null;
-					page.removePartListener(listener);
-					DefaultBrowserSupport.getInstance().removeBrowser(
-							InternalBrowserInstance.this);
-				}
-			}
-
-			public void partDeactivated(IWorkbenchPart part3) {
-				// ignore
-			}
-
-			public void partOpened(IWorkbenchPart part3) {
-				// ignore
-			}
-		};
-		page.addPartListener(listener);
-		IWorkbenchWindow window = part.getSite().getWorkbenchWindow();
-		windowKey = new Integer(window.hashCode());
-	}
-
-	public Integer getWindowKey() {
-		return windowKey;
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserViewInstance.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserViewInstance.java
deleted file mode 100644
index 2bd9f8e..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/InternalBrowserViewInstance.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.net.URL;
-
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-/**
- * An instance of a running Web browser.
- */
-public class InternalBrowserViewInstance extends InternalBrowserInstance {
-	public InternalBrowserViewInstance(String id, int style, String name, String tooltip) {
-		super(WebBrowserUtil.encodeStyle(id, style), style, name, tooltip);
-	}
-
-	public void openURL(URL url) throws PartInitException {
-        IWorkbenchWindow workbenchWindow = WebBrowserUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow();
-        final IWorkbenchPage page = workbenchWindow.getActivePage();
-        WebBrowserView view = (WebBrowserView)part;
-		if (view == null) {
-            try {
-				view = (WebBrowserView)page.showView(WebBrowserView.WEB_BROWSER_VIEW_ID, getId(), IWorkbenchPage.VIEW_CREATE);
-                hookPart(page, view);
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error opening Web browser", e); //$NON-NLS-1$
-			}
-		}
-        if (view!=null) {
-            page.bringToTop(view);
-            view.setURL(url.toExternalForm());
-        }
-	}
-
-	public boolean close() {
-        return ((WebBrowserView)part).close();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Messages.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Messages.java
deleted file mode 100644
index dad379b..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Messages.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
-	static {
-		NLS.initializeMessages("org.eclipse.ui.internal.browser.Messages", Messages.class); //$NON-NLS-1$
-	}
-
-	public static String BrowserText_title;
-	public static String BrowserText_link;
-	public static String BrowserText_tooltip;
-	public static String BrowserText_dtitle;
-	public static String BrowserText_text;
-	public static String BrowserText_button_collapse;
-	public static String BrowserText_button_expand;
-
-	public static String errorCouldNotLaunchInternalWebBrowser;
-	public static String actionWebBrowserGo;
-	public static String viewWebBrowserTitle;
-	public static String actionWebBrowserBack;
-	public static String actionWebBrowserForward;
-	public static String actionWebBrowserStop;
-	public static String actionWebBrowserRefresh;
-	public static String dialogResourceDeletedTitle;
-	public static String dialogResourceDeletedMessage;
-	public static String dialogResourceDeletedIgnore;
-	public static String errorInvalidEditorInput;
-	public static String preferenceWebBrowserDescription;
-	public static String prefInternalBrowser;
-	public static String prefExternalBrowser;
-	public static String prefSystemBrowser;
-	public static String browserList;
-	public static String add;
-	public static String edit;
-	public static String remove;
-	public static String search;
-	public static String selectDirectory;
-	public static String directoryDialogTitle;
-	public static String searchingTaskName;
-	public static String searchingNoneFound;
-	public static String preferenceWebBrowserTitle;
-	public static String searching;
-	public static String errorDialogTitle;
-	public static String errorCouldNotLaunchWebBrowser;
-	public static String errorNoBrowser;
-	public static String editExternalBrowser;
-	public static String createBrowser;
-	public static String name;
-	public static String location;
-	public static String parameters;
-	public static String parametersMessage;
-	public static String browse;
-	public static String browseMessage;
-	public static String locationInvalid;
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Messages.properties b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Messages.properties
deleted file mode 100644
index 26b15c7..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Messages.properties
+++ /dev/null
@@ -1,69 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-BrowserText_title=Embedded browser not available
-BrowserText_link=<a href="open">Open file using the system editor</a>
-BrowserText_tooltip=Open External Editor
-BrowserText_dtitle=Problem Details
-BrowserText_text=The embedded browser widget for this editor cannot be created. It is either not available for your operating system or the system needs to be configured in order to support embedded browser.
-BrowserText_button_collapse=Details<<
-BrowserText_button_expand=Details>>
-
-# --- Internal Web Browser ---
-viewWebBrowserTitle=Web Browser
-
-# Actions
-actionWebBrowserGo=Go to the selected URL
-actionWebBrowserBack=Back to the previous page
-actionWebBrowserForward=Forward to the next page
-actionWebBrowserStop=Stop loading the current page
-actionWebBrowserRefresh=Refresh the current page
-
-# message if a resource is deleted
-dialogResourceDeletedTitle=Web Resource Deleted
-dialogResourceDeletedMessage=The file {0} initially opened in the Web Browser has been deleted from the file system. Do you want to ignore the deletion or close the Web Browser?
-dialogResourceDeletedIgnore=Ignore
-
-# --------------- Preferences ---------------
-
-# Name of the preference pages
-preferenceWebBrowserTitle=Web Browser
-preferenceWebBrowserDescription=Add, remove, or edit installed Web browsers.\nThe selected Web browser will be used by default when Web pages are opened,\nalthough some applications may always use the external browser.
-
-# Web Browser preferences
-prefInternalBrowser=Use &internal Web browser
-prefSystemBrowser=Default system Web browser
-prefExternalBrowser=Use e&xternal Web browser
-
-errorDialogTitle=Error
-errorCouldNotLaunchWebBrowser=Could not launch external Web Browser for {0}. Check the Web Browser preferences.
-errorNoBrowser=Could not open a Web browser because there are none configured. Check the Web Browser preferences.
-errorInvalidEditorInput=Could not open Web browser on {0}. Ensure that it is an uncompressed file.
-
-browserList=External &Web browsers:
-add=&New...
-edit=&Edit...
-remove=&Remove
-search=&Search...
-createBrowser=Add External Web Browser
-editExternalBrowser=Edit External Web Browser
-name=&Name:
-location=&Location:
-parameters=&Parameters:
-parametersMessage=Example: -url {0}\n(Use {0} to include the URL)
-browse=&Browse...
-browseMessage=Specify the location of the Web Browser executable
-errorCouldNotLaunchInternalWebBrowser=Could not launch internal Web Browser. Please set an external browser in the Browser preferences.
-searchingTaskName=Searching for Web browsers...
-searching=Found {0} - Searching {1}
-searchingNoneFound=No Web browsers were found.
-selectDirectory=Select a directory to search for Web browsers:
-directoryDialogTitle=Directory Selection
-locationInvalid=The location value is not a valid path name.
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/OpenBrowserHandler.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/OpenBrowserHandler.java
deleted file mode 100644
index 7861089..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/OpenBrowserHandler.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.browser.IWebBrowser;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-
-public class OpenBrowserHandler extends AbstractHandler {
-
-	private static final String PARAM_ID_URL = "url"; //$NON-NLS-1$
-
-	private static final String PARAM_ID_BROWSER_ID = "browserId"; //$NON-NLS-1$
-
-	private static final String PARAM_ID_NAME = "name"; //$NON-NLS-1$
-
-	private static final String PARAM_ID_TOOLTIP = "tooltip"; //$NON-NLS-1$
-
-	public Object execute(ExecutionEvent event) throws ExecutionException {
-
-		String urlText = event.getParameter(PARAM_ID_URL);
-		URL url;
-		if (urlText == null) {
-			url = null;
-		} else {
-			try {
-				url = new URL(urlText);
-			} catch (MalformedURLException ex) {
-				throw new ExecutionException("malformed URL:" + urlText, ex); //$NON-NLS-1$
-			}
-		}
-
-		String browserId = event.getParameter(PARAM_ID_BROWSER_ID);
-		String name = event.getParameter(PARAM_ID_NAME);
-		String tooltip = event.getParameter(PARAM_ID_TOOLTIP);
-
-		try {
-			IWorkbenchBrowserSupport browserSupport = PlatformUI.getWorkbench()
-					.getBrowserSupport();
-			IWebBrowser browser = browserSupport.createBrowser(
-					IWorkbenchBrowserSupport.LOCATION_BAR
-							| IWorkbenchBrowserSupport.NAVIGATION_BAR,
-					browserId, name, tooltip);
-			browser.openURL(url);
-		} catch (PartInitException ex) {
-			throw new ExecutionException("error opening browser", ex); //$NON-NLS-1$
-		}
-
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/OpenBrowserWorkbenchAction.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/OpenBrowserWorkbenchAction.java
deleted file mode 100644
index 9164082..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/OpenBrowserWorkbenchAction.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.*;
-import org.eclipse.ui.browser.IWebBrowser;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-/**
- * Action to open the Web broswer.
- */
-public class OpenBrowserWorkbenchAction implements IWorkbenchWindowActionDelegate {
-	/**
-	 * OpenBrowserWorkbenchAction constructor comment.
-	 */
-	public OpenBrowserWorkbenchAction() {
-		super();
-	}
-
-	/**
-	 * Disposes this action delegate.  The implementor should unhook any references
-	 * to itself so that garbage collection can occur.
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/**
-	 * Initializes this action delegate with the workbench window it will work in.
-	 *
-	 * @param window the window that provides the context for this delegate
-	 */
-	public void init(IWorkbenchWindow window) {
-		// do nothing
-	}
-
-	/**
-	 * Performs this action.
-	 * <p>
-	 * This method is called when the delegating action has been triggered.
-	 * Implement this method to do the actual work.
-	 * </p>
-	 *
-	 * @param action the action proxy that handles the presentation portion of the
-	 *   action
-	 */
-	public void run(IAction action) {
-		try {
-			IWorkbenchBrowserSupport browserSupport = WebBrowserUIPlugin.getInstance().getWorkbench().getBrowserSupport();
-			IWebBrowser browser = browserSupport.createBrowser(IWorkbenchBrowserSupport.LOCATION_BAR | IWorkbenchBrowserSupport.NAVIGATION_BAR, null, null, null);
-			browser.openURL(null);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error opening browser", e); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Notifies this action delegate that the selection in the workbench has changed.
-	 * <p>
-	 * Implementers can use this opportunity to change the availability of the
-	 * action or to modify other presentation properties.
-	 * </p>
-	 *
-	 * @param action the action proxy that handles presentation portion of the action
-	 * @param selection the current selection in the workbench
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		// do nothing
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SWTUtil.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SWTUtil.java
deleted file mode 100644
index dde786a..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SWTUtil.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-/**
- * SWT Utility class.
- */
-public class SWTUtil {
-	private static FontMetrics fontMetrics;
-
-	protected static void initializeDialogUnits(Control testControl) {
-		// Compute and store a font metric
-		GC gc = new GC(testControl);
-		gc.setFont(JFaceResources.getDialogFont());
-		fontMetrics = gc.getFontMetrics();
-		gc.dispose();
-	}
-
-	/**
-	 * Returns a width hint for a button control.
-	 */
-	protected static int getButtonWidthHint(Button button) {
-		int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH);
-		return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	}
-
-	/**
-	 * Create a new button with the standard size.
-	 * 
-	 * @param comp a component to add the button to
-	 * @param label the button label
-	 * @return a button
-	 */
-	public static Button createButton(Composite comp, String label) {
-		Button b = new Button(comp, SWT.PUSH);
-		b.setText(label);
-		if (fontMetrics == null)
-			initializeDialogUnits(comp);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.widthHint = getButtonWidthHint(b);
-		b.setLayoutData(data);
-		return b;
-	}
-	
-	/**
-	 * Create a new standard label.
-	 * 
-	 * @param comp a component to add the label to
-	 * @param text the label text
-	 * @return a label
-	 */
-	public static Label createLabel(Composite comp, String text) {
-		Label label = new Label(comp, SWT.NONE);
-		label.setText(text);
-		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING));
-		return label;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SystemBrowserDescriptor.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SystemBrowserDescriptor.java
deleted file mode 100644
index 4d19603..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SystemBrowserDescriptor.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-public class SystemBrowserDescriptor implements IBrowserDescriptor {
-	public String getName() {
-		return Messages.prefSystemBrowser;
-	}
-
-	public String getLocation() {
-		return null;
-	}
-
-	public String getParameters() {
-		return null;
-	}
-
-	public void delete() {
-		// ignore
-	}
-
-	public boolean isWorkingCopy() {
-		return false;
-	}
-
-	public IBrowserDescriptorWorkingCopy getWorkingCopy() {
-		return null;
-	}
-	
-	public boolean equals(Object obj) {
-		return obj instanceof SystemBrowserDescriptor;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SystemBrowserInstance.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SystemBrowserInstance.java
deleted file mode 100644
index 4cacdd6..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/SystemBrowserInstance.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.net.URL;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.program.Program;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.browser.AbstractWebBrowser;
-
-/**
- * An instance of a running system Web browser.
- */
-public class SystemBrowserInstance extends AbstractWebBrowser {
-	public SystemBrowserInstance(String id) {
-		super(id);
-	}
-
-	public void openURL(URL url) throws PartInitException {
-		String urlText = null;
-
-		if (url != null)
-			urlText = url.toExternalForm();
-
-		// change spaces to "%20"
-		if (urlText != null && !WebBrowserUtil.isWindows()) {
-			int index = urlText.indexOf(" "); //$NON-NLS-1$
-			while (index >= 0) {
-				urlText = urlText.substring(0, index) + "%20" //$NON-NLS-1$
-						+ urlText.substring(index + 1);
-				index = urlText.indexOf(" "); //$NON-NLS-1$
-			}
-		}
-		Trace.trace(Trace.FINEST, "Launching system Web browser: " + urlText); //$NON-NLS-1$
-		Program program = Program.findProgram("html"); //$NON-NLS-1$
-		if (program != null) {
-			if (program.execute(urlText))
-				return;
-		}
-		if (!Program.launch(urlText))
-			throw new PartInitException(NLS.bind(Messages.errorCouldNotLaunchWebBrowser, url.toExternalForm()));
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/TextAction.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/TextAction.java
deleted file mode 100644
index ec374f0..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/TextAction.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.jface.action.Action;
-/**
- * Text actions (cut, copy, paste) for the Web browser.
- */
-public class TextAction extends Action {
-	protected BrowserViewer browser;
-	protected byte type;
-
-	public static final byte CUT = 0;
-	public static final byte COPY = 1;
-	public static final byte PASTE = 2;
-	
-	/**
-	 * TextAction constructor comment.
-	 */
-	protected TextAction(BrowserViewer browser, byte type) {
-		super(type + "!"); //$NON-NLS-1$
-		this.browser = browser;
-		this.type = type;
-	}
-	
-	/**
-	 * Copies the selected text to the clipboard.  The text will be put in the 
-	 * clipboard in plain text format.
-	 * <p>
-	 *
-	 * @exception SWTException <ul>
-	 *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-	 *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-	 * </ul>
-	 */
-	public void copy() {
-		Point selection = browser.combo.getSelection();
-	
-		int length = selection.y - selection.x;
-		if (length > 0) {
-			TextTransfer plainTextTransfer = TextTransfer.getInstance();
-			try {
-				browser.clipboard.setContents(
-					new String[] { browser.combo.getText().substring(selection.x, selection.y) }, 
-					new Transfer[] { plainTextTransfer });
-			} catch (SWTError error) {
-				// Copy to clipboard failed. This happens when another application 
-				// is accessing the clipboard while we copy. Ignore the error.
-				// Fixes 1GDQAVN
-			}
-		}
-	}
-	
-	/**
-	 * Moves the selected text to the clipboard.  The text will be put in the 
-	 * clipboard in plain text format and RTF format.
-	 * <p>
-	 *
-	 * @exception SWTException <ul>
-	 *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-	 *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-	 * </ul>
-	 */
-	public void cut(){
-		Point selection = browser.combo.getSelection();
-	
-		if (selection.y > selection.x) {
-			copy();
-			delete();
-		}
-	}
-	
-	/**
-	 * Deletes the character to the right of the caret. Delete the selected text if any.
-	 */
-	public void delete() {
-		Point selection = browser.combo.getSelection();
-		String text = browser.combo.getText();
-	
-		if (selection.x != selection.y) {
-			text = text.substring(0, selection.x) + text.substring(selection.y);
-			browser.combo.setText(text);
-			browser.combo.setSelection(new Point(selection.x, selection.x));
-		}
-	}
-	
-	/** 
-	 * Replaces the selection with the clipboard text or insert the text at 
-	 * the current caret offset if there is no selection. 
-	 * If the widget has the SWT.SINGLE style and the clipboard text contains
-	 * more than one line, only the first line without line delimiters is 
-	 * inserted in the widget.
-	 * <p>
-	 *
-	 * @exception SWTException <ul>
-	 *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-	 *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-	 * </ul>
-	 */
-	public void paste() {
-		TextTransfer transfer = TextTransfer.getInstance();
-		Point selection = browser.combo.getSelection();
-		String text = browser.combo.getText();
-		
-		String newText = (String) browser.clipboard.getContents(transfer);
-		if (newText != null && newText.length() > 0) {
-			text = text.substring(0, selection.x) + newText + text.substring(selection.y);
-			browser.combo.setText(text);
-	
-			// set the selection to the end of the paste
-			int x = selection.x + newText.length();
-			browser.combo.setSelection(new Point(x, x));
-		}
-	}
-	
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		if (browser == null || browser.combo == null)
-			return;
-		if (type == CUT)
-			cut();
-		else if (type == COPY)
-			copy();
-		else if (type == PASTE)
-			paste();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ToolbarLayout.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ToolbarLayout.java
deleted file mode 100644
index 18abbe9..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/ToolbarLayout.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Layout;
-/**
- * Custom layout for the browser's toolbar.
- */
-public class ToolbarLayout extends Layout {
-	private static final int SPACING = 5;
-	private static final int EXTRA_BUSY_SPACING = 2;
-	private static final int MARGIN = 2;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Layout#computeSize(org.eclipse.swt.widgets.Composite, int, int, boolean)
-	 */
-	protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
-		if (hHint != SWT.DEFAULT)
-			return new Point(wHint, hHint);
-		
-		Control[] children = composite.getChildren();
-		int h = 0;
-		int size = children.length;
-		for (int i = 0; i < size; i++) {
-			h = Math.max(h, children[i].computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
-		}
-		
-		return new Point(wHint, h + MARGIN * 2);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Layout#layout(org.eclipse.swt.widgets.Composite, boolean)
-	 */
-	protected void layout(Composite composite, boolean flushCache) {
-		Control[] children = composite.getChildren();
-		Rectangle r = composite.getClientArea();
-		
-		int size = children.length;
-		Point[] sizes = new Point[size];
-		for (int i = 0; i < size; i++) {
-			sizes[i] = children[i].computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		}
-
-		int h = r.height - MARGIN * 2;
-		
-		// put busy icon at right with a little extra spacing
-		int busy = size - 1;
-		children[busy].setBounds(r.x + r.width - MARGIN - sizes[busy].x,
-				r.y + MARGIN + (h-sizes[busy].y) / 2, 
-				sizes[busy].x, sizes[busy].y);
-		
-		// find combo
-		int combo = -1;
-		int tw = r.width - MARGIN * 2 - (size - 1) * SPACING
-				- sizes[size-1].x - EXTRA_BUSY_SPACING;
-		for (int i = 0; i < size - 1; i++) {
-			if (children[i] instanceof Combo)
-				combo = i;
-			else
-				tw -= sizes[i].x;
-		}
-		if (combo >= 0)
-			sizes[combo].x = tw;
-		
-		// space out other children with their standard size, give combo all
-		// remaining space (if it exists)
-		int x = MARGIN;
-		for (int i = 0; i < size - 1; i++) {
-			children[i].setBounds(r.x + x, r.y + MARGIN + (h-sizes[i].y) / 2,
-					sizes[i].x, sizes[i].y);
-			x += SPACING + sizes[i].x;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Trace.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Trace.java
deleted file mode 100644
index 24c6dda..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/Trace.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	public static int CONFIG = 0;
-	public static int WARNING = 2;
-	public static int SEVERE = 3;
-	public static int FINER = 4;
-	public static int FINEST = 5;
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-
-	/**
-	 * Trace the given text.
-	 *
-	 * @param s java.lang.String
-	 */
-	public static void trace(int level, String s) {
-		Trace.trace(level, s, null);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param s java.lang.String
-	 * @param t java.lang.Throwable
-	 */
-	public static void trace(int level, String s, Throwable t) {
-		if (!WebBrowserUIPlugin.getInstance().isDebugging())
-			return;
-
-		System.out.println(s);
-		if (t != null)
-			t.printStackTrace();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditor.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditor.java
deleted file mode 100644
index 47a1585..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditor.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 203, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IPathEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-import org.eclipse.ui.part.EditorPart;
-/**
- * An integrated Web browser, defined as an editor to make
- * better use of the desktop.
- */
-public class WebBrowserEditor extends EditorPart implements IBrowserViewerContainer {
-	public static final String WEB_BROWSER_EDITOR_ID = "org.eclipse.ui.browser.editor"; //$NON-NLS-1$
-
-	protected BrowserViewer webBrowser;
-	protected String initialURL;
-	protected Image image;
-
-	protected TextAction cutAction;
-	protected TextAction copyAction;
-	protected TextAction pasteAction;
-	
-	private boolean disposed;
-	private boolean lockName;
-
-	/**
-	 * WebBrowserEditor constructor comment.
-	 */
-	public WebBrowserEditor() {
-		super();
-	}
-	
-	/*
-	 * Creates the SWT controls for this workbench part.
-	 */
-	public void createPartControl(Composite parent) {
-		WebBrowserEditorInput input = getWebBrowserEditorInput();
-		
-		int style = 0;
-		if (input == null || input.isLocationBarLocal()) {
-			style += BrowserViewer.LOCATION_BAR;
-		}
-		if (input == null || input.isToolbarLocal()) {
-			style += BrowserViewer.BUTTON_BAR;
-		}
-		webBrowser = new BrowserViewer(parent, style);
-		
-		webBrowser.setURL(initialURL);
-		webBrowser.setContainer(this);
-		
-		if (input == null || input.isLocationBarLocal()) {
-			cutAction = new TextAction(webBrowser, TextAction.CUT);
-			copyAction = new TextAction(webBrowser, TextAction.COPY);
-			pasteAction = new TextAction(webBrowser, TextAction.PASTE);
-		}
-		
-		if (!lockName) {
-			PropertyChangeListener propertyChangeListener = new PropertyChangeListener() {
-				public void propertyChange(PropertyChangeEvent event) {
-					if (BrowserViewer.PROPERTY_TITLE.equals(event.getPropertyName())) {
-						setPartName((String) event.getNewValue());
-					}
-				}
-			};
-			webBrowser.addPropertyChangeListener(propertyChangeListener);
-		}
-	}
-	
-	public void dispose() {
-		if (image != null && !image.isDisposed())
-			image.dispose();
-		image = null;
-
-		super.dispose();
-		// mark this instance as disposed to avoid stale references
-		disposed = true;
-	}
-	
-	public boolean isDisposed() {
-		return disposed;
-	}
-	
-	/* (non-Javadoc)
-	 * Saves the contents of this editor.
-	 */
-	public void doSave(IProgressMonitor monitor) {
-		// do nothing
-	}
-
-	/* (non-Javadoc)
-	 * Saves the contents of this editor to another object.
-	 */
-	public void doSaveAs() {
-		// do nothing
-	}
-	
-	/**
-	 * Returns the copy action.
-	 *
-	 * @return org.eclipse.jface.action.IAction
-	 */
-	public IAction getCopyAction() {
-		return copyAction;
-	}
-	
-	/**
-	 * Returns the cut action.
-	 *
-	 * @return org.eclipse.jface.action.IAction
-	 */
-	public IAction getCutAction() {
-		return cutAction;
-	}
-	
-	/**
-	 * Returns the web editor input, if available. If the input was of
-	 * another type, <code>null</code> is returned.
-	 *
-	 * @return org.eclipse.ui.internal.browser.IWebBrowserEditorInput
-	 */
-	protected WebBrowserEditorInput getWebBrowserEditorInput() {
-		IEditorInput input = getEditorInput();
-		if (input instanceof WebBrowserEditorInput)
-			return (WebBrowserEditorInput) input;
-		return null;
-	}
-
-	/**
-	 * Returns the paste action.
-	 *
-	 * @return org.eclipse.jface.action.IAction
-	 */
-	public IAction getPasteAction() {
-		return pasteAction;
-	}
-
-	/* (non-Javadoc)
-	 * Initializes the editor part with a site and input.
-	 */
-	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
-		Trace.trace(Trace.FINEST, "Opening browser: " + input); //$NON-NLS-1$
-		if (input instanceof IPathEditorInput) {
-			IPathEditorInput pei = (IPathEditorInput) input;
-			IPath path = pei.getPath();
-			URL url = null;
-			try {
-				if (path != null)
-					url = path.toFile().toURL();
-				initialURL = url.toExternalForm();
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error getting URL to file"); //$NON-NLS-1$
-			}
-			if (webBrowser != null) {
-				if (initialURL != null)
-					webBrowser.setURL(initialURL);
-				site.getWorkbenchWindow().getActivePage().activate(this);
-			}
-			
-			setPartName(path.lastSegment());
-			if (url != null)
-				setTitleToolTip(url.getFile());
-
-			Image oldImage = image;
-			ImageDescriptor id = ImageResource.getImageDescriptor(ImageResource.IMG_INTERNAL_BROWSER);
-			image = id.createImage();
-
-			setTitleImage(image);
-			if (oldImage != null && !oldImage.isDisposed())
-				oldImage.dispose();
-			//addResourceListener(file);
-		} else if (input instanceof WebBrowserEditorInput) {
-			WebBrowserEditorInput wbei = (WebBrowserEditorInput) input;
-			initialURL = null;
-			if (wbei.getURL() != null)
-				initialURL = wbei.getURL().toExternalForm();
-			if (webBrowser != null) {
-				webBrowser.setURL(initialURL);
-				site.getWorkbenchWindow().getActivePage().activate(this);
-			}
-	
-			setPartName(wbei.getName());
-			setTitleToolTip(wbei.getToolTipText());
-			lockName = wbei.isNameLocked();
-
-			Image oldImage = image;
-			ImageDescriptor id = wbei.getImageDescriptor();
-			image = id.createImage();
-
-			setTitleImage(image);
-			if (oldImage != null && !oldImage.isDisposed())
-				oldImage.dispose();
-		} else
-			throw new PartInitException(NLS.bind(Messages.errorInvalidEditorInput, input.getName()));
-		
-		setSite(site);
-		setInput(input);
-	}
-	
-	/* (non-Javadoc)
-	 * Returns whether the contents of this editor have changed since the last save
-	 * operation.
-	 */
-	public boolean isDirty() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * Returns whether the "save as" operation is supported by this editor.
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-
-	/**
-	 * Open the input in the internal Web browser.
-	 */
-	public static void open(WebBrowserEditorInput input) {
-		IWorkbenchWindow workbenchWindow = WebBrowserUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow();
-		IWorkbenchPage page = workbenchWindow.getActivePage();
-
-		try {
-			IEditorReference[] editors = page.getEditorReferences();
-			int size = editors.length;
-			for (int i = 0; i < size; i++) {
-				if (WEB_BROWSER_EDITOR_ID.equals(editors[i].getId())) {
-					IEditorPart editor = editors[i].getEditor(true);
-					if (editor != null && editor instanceof WebBrowserEditor) {
-						WebBrowserEditor webEditor = (WebBrowserEditor) editor;
-						WebBrowserEditorInput input2 = webEditor.getWebBrowserEditorInput();
-						if (input2 == null || input.canReplaceInput(input2)) {
-							editor.init(editor.getEditorSite(), input);
-							return;
-						}
-					}
-				}
-			}
-			
-			page.openEditor(input, WebBrowserEditor.WEB_BROWSER_EDITOR_ID);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error opening Web browser", e); //$NON-NLS-1$
-		}
-	}
-	
-	/*
-	 * Asks this part to take focus within the workbench.
-	 */
-	public void setFocus() {
-		if (webBrowser != null)
-			webBrowser.setFocus();
-	}
-
-	/**
-	 * Close the editor correctly.
-	 */
-	public boolean close() {
-        final boolean [] result = new boolean[1];
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				result[0] = getEditorSite().getPage().closeEditor(WebBrowserEditor.this, false);
-			}
-		});
-        return result[0];
-	}
-	
-    public IActionBars getActionBars() {
-        return getEditorSite().getActionBars();
-    }
-
-    public void openInExternalBrowser(String url) {
-        final IEditorInput input = getEditorInput();
-        final String id = getEditorSite().getId();
-        Runnable runnable = new Runnable() {
-            public void run() {
-                doOpenExternalEditor(id, input);
-            }
-        };
-        Display display = getSite().getShell().getDisplay();
-        close();
-        display.asyncExec(runnable);
-    }
-    
-    protected void doOpenExternalEditor(String id, IEditorInput input) {
-        IEditorRegistry registry = PlatformUI.getWorkbench().getEditorRegistry();
-        String name = input.getName();
-        IEditorDescriptor [] editors = registry.getEditors(name);
-        IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-
-        String editorId = null;
-        for (int i = 0; i < editors.length; i++) {
-            IEditorDescriptor editor = editors[i];
-            if (editor.getId().equals(id))
-                continue;
-            editorId = editor.getId();
-            break;
-        } 
-        
-        IEditorDescriptor ddesc = registry.getDefaultEditor(name);
-        if (ddesc!=null && ddesc.getId().equals(id)) {
-            int dot = name.lastIndexOf('.');
-            String ext = name;
-            if (dot!= -1)
-                ext = "*."+name.substring(dot+1); //$NON-NLS-1$
-            registry.setDefaultEditor(ext, null);
-        }
- 
-         if (editorId==null) {
-            // no editor
-            // next check with the OS for an external editor
-            if (registry.isSystemExternalEditorAvailable(name))
-                editorId = IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID;
-        }
-
-        if (editorId!=null) {
-            try {
-                page.openEditor(input, editorId);
-                return;
-            } catch (PartInitException e) {
-					// ignore
-            }
-        }
-        
-        // no registered editor - open using browser support
-        try {
-            URL theURL = new URL(webBrowser.getURL());
-            IWorkbenchBrowserSupport support = PlatformUI.getWorkbench().getBrowserSupport();
-            support.getExternalBrowser().openURL(theURL);
-        }
-        catch (MalformedURLException e) {
-            //TODO handle this
-        }
-        catch (PartInitException e) {
-            //TODO handle this
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditorActionBarContributor.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditorActionBarContributor.java
deleted file mode 100644
index f82d208..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditorActionBarContributor.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.part.EditorActionBarContributor;
-/**
- * ActionBarContributor for the Web browser.
- * Just adds cut, copy, paste actions.
- */
-public class WebBrowserEditorActionBarContributor extends EditorActionBarContributor {
-	protected WebBrowserEditor editor;
-	protected Action back;
-	protected Action forward;
-	protected Updater updater = new Updater();
-
-	class Updater implements BrowserViewer.IBackNextListener {
-		public void updateBackNextBusy() {
-			if (back == null)
-				return;
-			back.setEnabled(getWebBrowser().isBackEnabled());
-			forward.setEnabled(getWebBrowser().isForwardEnabled());
-			//busy.setBusy(getWebBrowser().loading);
-		}
-	}
-
-	/**
-	 * WebBrowserEditorActionBarContributor constructor comment.
-	 */
-	public WebBrowserEditorActionBarContributor() {
-		super();
-	}
-
-	/*
-	 * Sets the active editor for the contributor.
-	 */
-	public void setActiveEditor(IEditorPart targetEditor) {
-		if (targetEditor instanceof WebBrowserEditor) {
-			editor = (WebBrowserEditor) targetEditor;
-			WebBrowserEditorInput input = editor.getWebBrowserEditorInput();
-			
-			if (input == null || input.isLocationBarLocal()) {
-				IActionBars actionBars = getActionBars();
-				actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), editor.getCopyAction());
-				actionBars.setGlobalActionHandler(ActionFactory.CUT.getId(), editor.getCutAction());
-				actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), editor.getPasteAction());
-			}
-			
-			//if (input.isToolbarGlobal())
-			//	getWebBrowser().backNextListener = this.updater;
-				
-			//editor.updateActions();
-		} else
-			editor = null;
-	}
-	
-	protected BrowserViewer getWebBrowser() {
-		if (editor == null)
-			return null;
-		
-		return editor.webBrowser; 
-	}
-
-	/*
-    * Contributes to the given tool bar.
-    */
-   public void contributeToToolBar(IToolBarManager toolBarManager) {
-   	if (editor == null)
-   		return;
-   	/*WebBrowserEditorInput input = editor.getWebBrowserEditorInput();
-   	if (input.isLocationBarGlobal()) {
-	   	final LocationContributionItem location = new LocationContributionItem();
-	   	toolBarManager.add(location);
-	   
-	   	Action go = new Action() {
-	   		public void run() {
-	   			getWebBrowser().setURL(location.getText());
-	   		}
-	   	};
-	   	go.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_NAV_GO));
-	   	go.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_NAV_GO));
-	   	go.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_NAV_GO));
-	   	go.setToolTipText(Messages.actionWebBrowserGo"));
-	   	toolBarManager.add(go);
-   	}
-   	
-   	if (input.isLocationBarGlobal() && input.isToolbarGlobal()) {
-   		toolBarManager.add(new Separator());
-   	}
-   	
-   	if (input.isToolbarGlobal()) {
-	   	Action favorites = new Action(Messages.actionWebBrowserFavorites"), IAction.AS_DROP_DOWN_MENU) {
-	   		public void run() {
-	   			getWebBrowser().addFavorite();
-	   		}
-	   		public IMenuCreator getMenuCreator() {
-	   			return new IMenuCreator() {
-						public void dispose() {
-							// do nothing
-						}
-	
-						public Menu getMenu(final Control parent) {
-							Menu menu = new Menu(parent);
-							
-							// locked favorites
-							Iterator iterator = WebBrowserUtil.getLockedFavorites().iterator();
-							if (iterator.hasNext()) {
-								while (iterator.hasNext()) {
-									final Favorite f = (Favorite) iterator.next();
-									MenuItem item = new MenuItem(menu, SWT.NONE);
-									item.setText(f.getName());
-									item.setImage(ImageResource.getImage(ImageResource.IMG_FAVORITE));
-									item.addSelectionListener(new SelectionAdapter() {
-										public void widgetSelected(SelectionEvent event) {
-											getWebBrowser().setURL(f.getURL());
-										}
-									});
-								}
-								
-								new MenuItem(menu, SWT.SEPARATOR);
-							}
-							
-							iterator = WebBrowserPreference.getInternalWebBrowserFavorites().iterator();
-							if (!iterator.hasNext()) {
-								MenuItem item = new MenuItem(menu, SWT.NONE);
-								item.setText(Messages.actionWebBrowserNoFavorites"));
-							}
-							while (iterator.hasNext()) {
-								final Favorite f = (Favorite) iterator.next();
-								MenuItem item = new MenuItem(menu, SWT.NONE);
-								item.setText(f.getName());
-								item.setImage(ImageResource.getImage(ImageResource.IMG_FAVORITE));
-								item.addSelectionListener(new SelectionAdapter() {
-									public void widgetSelected(SelectionEvent event) {
-										getWebBrowser().setURL(f.getURL());
-									}
-								});
-							}
-							
-							new MenuItem(menu, SWT.SEPARATOR);
-					
-							MenuItem item = new MenuItem(menu, SWT.NONE);
-							item.setText(Messages.actionWebBrowserOrganizeFavorites"));
-							item.addSelectionListener(new SelectionAdapter() {
-								public void widgetSelected(SelectionEvent event) {
-									OrganizeFavoritesDialog dialog = new OrganizeFavoritesDialog(parent.getShell());
-									dialog.open();
-								}
-							});
-							return menu;
-						}
-	
-						public Menu getMenu(final Menu parent) {
-							Menu menu = new Menu(parent);
-							
-							// locked favorites
-							Iterator iterator = WebBrowserUtil.getLockedFavorites().iterator();
-							if (iterator.hasNext()) {
-								while (iterator.hasNext()) {
-									final Favorite f = (Favorite) iterator.next();
-									MenuItem item = new MenuItem(menu, SWT.NONE);
-									item.setText(f.getName());
-									item.setImage(ImageResource.getImage(ImageResource.IMG_FAVORITE));
-									item.addSelectionListener(new SelectionAdapter() {
-										public void widgetSelected(SelectionEvent event) {
-											getWebBrowser().setURL(f.getURL());
-										}
-									});
-								}
-								
-								new MenuItem(menu, SWT.SEPARATOR);
-							}
-							
-							iterator = WebBrowserPreference.getInternalWebBrowserFavorites().iterator();
-							if (!iterator.hasNext()) {
-								MenuItem item = new MenuItem(menu, SWT.NONE);
-								item.setText(Messages.actionWebBrowserNoFavorites"));
-							}
-							while (iterator.hasNext()) {
-								final Favorite f = (Favorite) iterator.next();
-								MenuItem item = new MenuItem(menu, SWT.NONE);
-								item.setText(f.getName());
-								item.setImage(ImageResource.getImage(ImageResource.IMG_FAVORITE));
-								item.addSelectionListener(new SelectionAdapter() {
-									public void widgetSelected(SelectionEvent event) {
-										getWebBrowser().setURL(f.getURL());
-									}
-								});
-							}
-							
-							new MenuItem(menu, SWT.SEPARATOR);
-					
-							MenuItem item = new MenuItem(menu, SWT.NONE);
-							item.setText(Messages.actionWebBrowserOrganizeFavorites"));
-							item.addSelectionListener(new SelectionAdapter() {
-								public void widgetSelected(SelectionEvent event) {
-									OrganizeFavoritesDialog dialog = new OrganizeFavoritesDialog(parent.getShell());
-									dialog.open();
-								}
-							});
-							return menu;
-						}
-	   			};
-	   		}
-	   	};
-	   	favorites.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_NAV_FAVORITES));
-	   	favorites.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_NAV_FAVORITES));
-	   	favorites.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_NAV_FAVORITES));
-	   	favorites.setToolTipText(Messages.actionWebBrowserFavorites"));
-	   	toolBarManager.add(favorites);
-	   	
-	   	back = new Action() {
-	   		public void run() {
-	   			getWebBrowser().back();
-	   		}
-	   	};
-	   	back.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_NAV_BACKWARD));
-			back.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_NAV_BACKWARD));
-			back.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_NAV_BACKWARD));
-			back.setToolTipText(Messages.actionWebBrowserBack"));
-	   	toolBarManager.add(back);
-	   	
-	   	forward = new Action() {
-	   		public void run() {
-	   			getWebBrowser().forward();
-	   		}
-	   	};
-	   	forward.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_NAV_FORWARD));
-	   	forward.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_NAV_FORWARD));
-			forward.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_NAV_FORWARD));
-			forward.setToolTipText(Messages.actionWebBrowserForward"));
-	   	toolBarManager.add(forward);
-	   	
-	   	Action stop = new Action() {
-	   		public void run() {
-	   			getWebBrowser().stop();
-	   		}
-	   	};
-	   	stop.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_NAV_STOP));
-	   	stop.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_NAV_STOP));
-	   	stop.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_NAV_STOP));
-	   	stop.setToolTipText(Messages.actionWebBrowserStop"));
-	   	toolBarManager.add(stop);
-	   	
-	   	Action refresh = new Action() {
-	   		public void run() {
-	   			getWebBrowser().refresh();
-	   		}
-	   	};
-	   	refresh.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_NAV_REFRESH));
-	   	refresh.setHoverImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_CLCL_NAV_REFRESH));
-	   	refresh.setDisabledImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_DLCL_NAV_REFRESH));
-	   	refresh.setToolTipText(Messages.actionWebBrowserRefresh"));
-	   	toolBarManager.add(refresh);
-   	}*/
-   	
-   	/*toolBarManager.add(new Separator());
-   	
-   	ControlContribution busyCont = new ControlContribution("webbrowser.busy") {
-   	   protected Control createControl(Composite parent) {
-   	   	busy = new BusyIndicator(parent, SWT.NONE);
-   	   	return busy;
-   	   }
-   	};
-   	toolBarManager.add(busyCont);*/
-   }
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditorInput.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditorInput.java
deleted file mode 100644
index 794a965..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserEditorInput.java
+++ /dev/null
@@ -1,365 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-
-/**
- * The editor input for the integrated web browser.
- */
-public class WebBrowserEditorInput implements IEditorInput,
-		IPersistableElement, IElementFactory {
-	// --- constants to pass into constructor ---
-
-	// if used, the toolbar will be available
-	// public static final int SHOW_TOOLBAR = 1 << 1;
-
-	// public static final int SHOW_GLOBAL_TOOLBAR = 1 << 2;
-
-	// if used, the status bar will be available
-	// public static final int SHOW_STATUSBAR = 1 << 2;
-
-	// if used, the original URL will be saved and
-	// the page can reopen to the same URL after
-	// shutting down
-	// public static final int SAVE_URL = 1 << 5;
-
-	// if used, the browser will be transient and will not appear
-	// in the most recently used file list, nor will it reopen after
-	// restarting Eclipse
-	// public static final int TRANSIENT = 1 << 6;
-
-	private static final String ELEMENT_FACTORY_ID = "org.eclipse.ui.browser.elementFactory"; //$NON-NLS-1$
-
-	private static final String MEMENTO_URL = "url"; //$NON-NLS-1$
-
-	private static final String MEMENTO_STYLE = "style"; //$NON-NLS-1$
-
-	private static final String MEMENTO_ID = "id"; //$NON-NLS-1$
-
-	private static final String MEMENTO_NAME = "name"; //$NON-NLS-1$
-
-	private static final String MEMENTO_TOOLTIP = "tooltip"; //$NON-NLS-1$
-
-	private URL url;
-
-	private int style;
-
-	private String id = null;
-
-	private String name;
-
-	private String tooltip;
-
-	/**
-	 * ExternalBrowserInstance editor input for the homepage.
-	 */
-	public WebBrowserEditorInput() {
-		this(null);
-	}
-
-	/**
-	 * WebBrowserEditorInput constructor comment.
-	 */
-	public WebBrowserEditorInput(URL url) {
-		this(url, 0);
-	}
-
-	/**
-	 * WebBrowserEditorInput constructor comment.
-	 */
-	public WebBrowserEditorInput(URL url, int style) {
-		super();
-		this.url = url;
-		this.style = style;
-	}
-
-	/**
-	 * WebBrowserEditorInput constructor comment.
-	 */
-	public WebBrowserEditorInput(URL url, int style, String browserId) {
-		super();
-		this.url = url;
-		this.style = style;
-		this.id = browserId;
-	}
-
-	/**
-	 * WebBrowserEditorInput constructor comment.
-	 */
-	public WebBrowserEditorInput(URL url, boolean b) {
-		this(url);
-	}
-
-	public void setName(String n) {
-		name = n;
-	}
-
-	public void setToolTipText(String t) {
-		tooltip = t;
-	}
-
-	/**
-	 * Returns true if this page can reuse the browser that the given input is
-	 * being displayed in, or false if it should open up in a new page.
-	 * 
-	 * @param input
-	 *            org.eclipse.ui.internal.browser.IWebBrowserEditorInput
-	 * @return boolean
-	 */
-	public boolean canReplaceInput(WebBrowserEditorInput input) {
-		Trace.trace(Trace.FINEST, "canReplaceInput " + this + " " + input); //$NON-NLS-1$ //$NON-NLS-2$
-		// if ((style & FORCE_NEW_PAGE) != 0)
-		// return false;
-		// if (input.isToolbarVisible() != isToolbarVisible())
-		// return false;
-		// else
-		if (input.isStatusbarVisible() != isStatusbarVisible())
-			return false;
-		else if (id != null) {
-			String bid = input.getBrowserId();
-			return id.equals(bid);
-		} else
-			return false;
-	}
-
-	/**
-	 * Creates an <code>IElement</code> from the state captured within an
-	 * <code>IMemento</code>.
-	 * 
-	 * @param memento
-	 *            a memento containing the state for an element
-	 * @return an element, or <code>null</code> if the element could not be
-	 *         created
-	 */
-	public IAdaptable createElement(IMemento memento) {
-		int style = 0;
-		Integer integer = memento.getInteger(MEMENTO_STYLE);
-		if (integer != null) {
-			style = integer.intValue();
-		}
-
-		URL url = null;
-		String str = memento.getString(MEMENTO_URL);
-		if (str != null) {
-			try {
-				url = new URL(str);
-			}
-			catch (MalformedURLException e) {
-				String msg = "Malformed URL while initializing browser editor"; //$NON-NLS-1$
-				WebBrowserUIPlugin.logError(msg, e);
-			}
-		}
-
-		String id = memento.getString(MEMENTO_ID);
-		String name = memento.getString(MEMENTO_NAME);
-		String tooltip = memento.getString(MEMENTO_TOOLTIP);
-		
-		WebBrowserEditorInput input = new WebBrowserEditorInput(url, style, id);
-		input.setName(name);
-		input.setToolTipText(tooltip);
-		return input;
-	}
-
-	/**
-	 * Indicates whether some other object is "equal to" this one. In this case
-	 * it means that the underlying IFolders are equal.
-	 */
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (!(obj instanceof WebBrowserEditorInput))
-			return false;
-		WebBrowserEditorInput other = (WebBrowserEditorInput) obj;
-
-		if (url != null && !url.equals(obj))
-			return false;
-
-		return canReplaceInput(other);
-	}
-
-	/*
-	 * Returns whether the editor input exists.
-	 */
-	public boolean exists() {
-		if ((style & IWorkbenchBrowserSupport.PERSISTENT) != 0)
-			return false;
-
-		return true;
-	}
-
-	/**
-	 * Returns an object which is an instance of the given class associated with
-	 * this object. Returns <code>null</code> if no such object can be found.
-	 * 
-	 * @param adapter
-	 *            the adapter class to look up
-	 * @return a object castable to the given class, or <code>null</code> if
-	 *         this object does not have an adapter for the given class
-	 */
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-
-	/**
-	 * Returns the ID of an element factory which can be used to recreate this
-	 * object. An element factory extension with this ID must exist within the
-	 * workbench registry.
-	 * 
-	 * @return the element factory ID
-	 */
-	public String getFactoryId() {
-		return ELEMENT_FACTORY_ID;
-	}
-
-	public ImageDescriptor getImageDescriptor() {
-		return ImageResource
-				.getImageDescriptor(ImageResource.IMG_INTERNAL_BROWSER);
-	}
-	
-	/**
-	 * Returns true if the name is locked and cannot be changed.
-	 * 
-	 * @return <code>true</code> if the name of the browser should not change
-	 */
-	protected boolean isNameLocked() {
-		return (name != null);
-	}
-
-	/**
-	 * Returns the name of this editor input for display purposes.
-	 * <p>
-	 * For instance, if the fully qualified input name is
-	 * <code>"a\b\MyFile.gif"</code>, the return value would be just
-	 * <code>"MyFile.gif"</code>.
-	 * 
-	 * @return the file name string
-	 */
-	public String getName() {
-		if (name != null)
-			return name;
-
-		return Messages.viewWebBrowserTitle;
-	}
-
-	/*
-	 * Returns an object that can be used to save the state of this editor
-	 * input. @return the persistable element, or <code>null</code> if this
-	 * editor input cannot be persisted
-	 */
-	public IPersistableElement getPersistable() {
-		if ((style & IWorkbenchBrowserSupport.PERSISTENT) == 0)
-			return null;
-
-		return this;
-	}
-
-	public String getToolTipText() {
-		if (tooltip != null)
-			return tooltip;
-
-		if (url != null)
-			return url.toExternalForm();
-
-		return Messages.viewWebBrowserTitle;
-	}
-
-	/**
-	 * Returns the url.
-	 * 
-	 * @return java.net.URL
-	 */
-	public URL getURL() {
-		return url;
-	}
-
-	/**
-	 * Returns the browser id. Browsers with a set id will always & only be
-	 * replaced by browsers with the same id.
-	 * 
-	 * @return String
-	 */
-	public String getBrowserId() {
-		return id;
-	}
-
-	/**
-	 * Returns true if the status bar should be shown.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isStatusbarVisible() {
-		return (style & IWorkbenchBrowserSupport.STATUS) != 0;
-	}
-
-	/**
-	 * Returns true if the toolbar should be shown.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isLocationBarLocal() {
-		return (style & BrowserViewer.LOCATION_BAR) != 0;
-	}
-
-	/*
-	 * public boolean isLocationBarGlobal() { return (style &
-	 * ExternalBrowserInstance.LOCATION_TOOLBAR) != 0; }
-	 */
-
-	public boolean isToolbarLocal() {
-		return (style & BrowserViewer.BUTTON_BAR) != 0;
-	}
-
-	/*
-	 * public boolean isToolbarGlobal() { return (style &
-	 * ExternalBrowserInstance.BUTTON_TOOLBAR) != 0; }
-	 */
-
-	/**
-	 * Saves the state of an element within a memento.
-	 * 
-	 * @param memento
-	 *            the storage area for element state
-	 */
-	public void saveState(IMemento memento) {
-		memento.putInteger(MEMENTO_STYLE, style);
-		if ((style & IWorkbenchBrowserSupport.PERSISTENT) != 0 && url != null) {
-			memento.putString(MEMENTO_URL, url.toExternalForm());
-		}
-		if (id != null) {
-			memento.putString(MEMENTO_ID, id);
-		}
-		if (name != null) {
-			memento.putString(MEMENTO_NAME, name);
-		}
-		if (tooltip != null) {
-			memento.putString(MEMENTO_TOOLTIP, tooltip);
-		}
-	}
-
-	/**
-	 * Converts this object to a string.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "WebBrowserEditorInput[" + url + " " + style + " " + id + "]";  //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserPreference.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserPreference.java
deleted file mode 100644
index aa7ff6a..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserPreference.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Preferences for the Web browser.
- */
-public class WebBrowserPreference {
-	protected static final String PREF_BROWSER_HISTORY = "webBrowserHistory"; //$NON-NLS-1$
-
-	protected static final String PREF_INTERNAL_WEB_BROWSER_HISTORY = "internalWebBrowserHistory"; //$NON-NLS-1$
-
-	protected static final String PREF_BROWSER_CHOICE = "browser-choice"; //$NON-NLS-1$
-
-	private static final String INTERNAL_BROWSER_ID = "org.eclipse.ui.browser.editor"; //$NON-NLS-1$
-
-	private static final String BROWSER_SUPPORT_ID = "org.eclipse.ui.browser.editorSupport"; //$NON-NLS-1$
-
-	public static final int INTERNAL = 0;
-
-	public static final int EXTERNAL = 1;
-
-	/**
-	 * WebBrowserPreference constructor comment.
-	 */
-	private WebBrowserPreference() {
-		super();
-	}
-
-	/**
-	 * Returns the preference store.
-	 * 
-	 * @return the preference store
-	 */
-	protected static IPreferenceStore getPreferenceStore() {
-		return WebBrowserUIPlugin.getInstance().getPreferenceStore();
-	}
-
-	/**
-	 * Returns the Web browser history list.
-	 * 
-	 * @return java.util.List
-	 */
-	public static List getInternalWebBrowserHistory() {
-		String temp = getPreferenceStore().getString(
-				PREF_INTERNAL_WEB_BROWSER_HISTORY);
-		StringTokenizer st = new StringTokenizer(temp, "|*|"); //$NON-NLS-1$
-		List l = new ArrayList();
-		while (st.hasMoreTokens()) {
-			String s = st.nextToken();
-			l.add(s);
-		}
-		return l;
-	}
-
-	/**
-	 * Sets the Web browser history.
-	 * 
-	 * @param list
-	 *            the history
-	 */
-	public static void setInternalWebBrowserHistory(List list) {
-		StringBuffer sb = new StringBuffer();
-		if (list != null) {
-			Iterator iterator = list.iterator();
-			while (iterator.hasNext()) {
-				String s = (String) iterator.next();
-				sb.append(s);
-				sb.append("|*|"); //$NON-NLS-1$
-			}
-		}
-		getPreferenceStore().setValue(PREF_INTERNAL_WEB_BROWSER_HISTORY,
-				sb.toString());
-		WebBrowserUIPlugin.getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Returns whether the internal browser is used by default
-	 * 
-	 * @return true if the internal browser is used by default
-	 */
-	public static boolean isDefaultUseInternalBrowser() {
-		return WebBrowserUtil.canUseInternalWebBrowser();
-	}
-
-	/**
-	 * Returns whether the system browser is used by default
-	 * 
-	 * @return true if the system browser is used by default
-	 */
-	public static boolean isDefaultUseSystemBrowser() {
-		return WebBrowserUtil.canUseSystemBrowser();
-	}
-
-	/**
-	 * Returns whether the internal or external browser is being used
-	 * 
-	 * @return one of <code>INTERNAL</code> or <code>EXTERNAL</code>.
-	 */
-	public static int getBrowserChoice() {
-		int choice = getPreferenceStore().getInt(PREF_BROWSER_CHOICE);
-		if (choice == 2)
-			return EXTERNAL;
-		if (choice == INTERNAL && !WebBrowserUtil.canUseInternalWebBrowser())
-			return EXTERNAL;
-		return choice;
-	}
-
-	/**
-	 * Sets whether the internal, system and external browser is used
-	 * 
-	 * @param choice
-	 *            </code>INTERNAL</code>, <code>SYSTEM</code> and <code>EXTERNAL</code>
-	 */
-	public static void setBrowserChoice(int choice) {
-		getPreferenceStore().setValue(PREF_BROWSER_CHOICE, choice);
-		WebBrowserUIPlugin.getInstance().savePluginPreferences();
-		updateDefaultEditor(choice);
-	}
-
-	private static void updateDefaultEditor(int choice) {
-		// Toggle from internal editor to browser support
-		// to avoid confusion between default editors and
-		// Web browser preference page
-		IEditorRegistry registry = PlatformUI.getWorkbench()
-				.getEditorRegistry();
-		String oldId = choice == INTERNAL ? BROWSER_SUPPORT_ID
-				: INTERNAL_BROWSER_ID;
-		String newId = choice == INTERNAL ? INTERNAL_BROWSER_ID
-				: BROWSER_SUPPORT_ID;
-
-		String[][] extensions = { { "a.html", "*.html" }, { "a.htm", "*.htm" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-				{ "a.shtml", "*.shtml" } };  //$NON-NLS-1$//$NON-NLS-2$
-
-		// For each default editor that matches the oldId, change
-		// the default editor to the newId
-		for (int i = 0; i < extensions.length; i++) {
-			String[] ext = extensions[i];
-			IEditorDescriptor ddesc = registry.getDefaultEditor(ext[0]);
-			if (ddesc != null && ddesc.getId().equals(oldId)) {
-				registry.setDefaultEditor(ext[1], newId);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserPreferencePage.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserPreferencePage.java
deleted file mode 100644
index a3f35f1..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserPreferencePage.java
+++ /dev/null
@@ -1,616 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * The preference page that holds Web browser preferences.
- */
-public class WebBrowserPreferencePage extends PreferencePage implements
-		IWorkbenchPreferencePage {
-	protected Button internal;
-
-	protected Button external;
-
-	protected Table table;
-
-	protected CheckboxTableViewer tableViewer;
-
-	protected Button edit;
-
-	protected Button remove;
-
-	protected Button search;
-
-	protected Label location;
-
-	protected Label parameters;
-	
-	protected IBrowserDescriptor checkedBrowser;
-
-	class BrowserContentProvider implements IStructuredContentProvider {
-		public Object[] getElements(Object inputElement) {
-			List list = new ArrayList();
-			Iterator iterator = BrowserManager.getInstance().getWebBrowsers()
-					.iterator();
-			while (iterator.hasNext()) {
-				IBrowserDescriptor browser = (IBrowserDescriptor) iterator
-						.next();
-				list.add(browser);
-			}
-			return list.toArray();
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			// do nothing
-		}
-
-		public void dispose() {
-			// do nothing
-		}
-	}
-
-	class BrowserTableLabelProvider implements ITableLabelProvider {
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			IBrowserDescriptor browser = (IBrowserDescriptor) element;
-			return notNull(browser.getName());
-		}
-
-		protected String notNull(String s) {
-			if (s == null)
-				return ""; //$NON-NLS-1$
-			return s;
-		}
-
-		public boolean isLabelProperty(Object element, String property) {
-			return false;
-		}
-
-		public void addListener(ILabelProviderListener listener) {
-			// do nothing
-		}
-
-		public void removeListener(ILabelProviderListener listener) {
-			// do nothing
-		}
-
-		public void dispose() {
-			// do nothing
-		}
-	}
-
-	/**
-	 * WebBrowserPreferencePage constructor comment.
-	 */
-	public WebBrowserPreferencePage() {
-		super();
-	}
-
-	/**
-	 * Create the preference options.
-	 * 
-	 * @param parent
-	 *            org.eclipse.swt.widgets.Composite
-	 * @return org.eclipse.swt.widgets.Control
-	 */
-	protected Control createContents(Composite parent) {
-		initializeDialogUnits(parent);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,
-				ContextIds.PREF_BROWSER);
-
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(4);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(3);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL
-				| GridData.VERTICAL_ALIGN_FILL);
-		composite.setLayoutData(data);
-
-		Label label = new Label(composite, SWT.WRAP);
-		label.setText(Messages.preferenceWebBrowserDescription);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-		
-		label = new Label(composite, SWT.WRAP);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-
-		internal = new Button(composite, SWT.RADIO);
-		internal.setText(Messages.prefInternalBrowser);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		data.horizontalSpan = 2;
-		internal.setLayoutData(data);
-
-		if (!WebBrowserUtil.canUseInternalWebBrowser())
-			internal.setEnabled(false);
-
-		external = new Button(composite, SWT.RADIO);
-		external.setText(Messages.prefExternalBrowser);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		data.horizontalSpan = 2;
-		external.setLayoutData(data);
-
-		label = new Label(composite, SWT.NONE);
-		label.setText(Messages.browserList);
-		data = new GridData(GridData.FILL_HORIZONTAL
-				| GridData.VERTICAL_ALIGN_CENTER);
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-
-		table = new Table(composite, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL
-				| SWT.H_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION);
-		data = new GridData(GridData.FILL_BOTH);
-		table.setLayoutData(data);
-		table.setHeaderVisible(false);
-		table.setLinesVisible(false);
-
-		TableLayout tableLayout = new TableLayout();
-		new TableColumn(table, SWT.NONE);
-		tableLayout.addColumnData(new ColumnWeightData(100));
-		table.setLayout(tableLayout);
-
-		tableViewer = new CheckboxTableViewer(table);
-		tableViewer.setContentProvider(new BrowserContentProvider());
-		tableViewer.setLabelProvider(new BrowserTableLabelProvider());
-		tableViewer.setInput("root"); //$NON-NLS-1$
-
-		// uncheck any other elements that might be checked and leave only the
-		// element checked to remain checked since one can only chose one
-		// brower at a time to be current.
-		tableViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent e) {
-				checkNewDefaultBrowser(e.getElement());
-				checkedBrowser = (IBrowserDescriptor) e.getElement();
-				
-				// if no other browsers are checked, don't allow the single one
-				// currently checked to become unchecked, and lose a current
-				// browser. That is, don't permit unchecking if no other item
-				// is checked which is supposed to be the case.
-				Object[] obj = tableViewer.getCheckedElements();
-				if (obj.length == 0)
-					tableViewer.setChecked(e.getElement(), true);
-			}
-		});
-
-		// set a default, checked browser based on the current browser. If there
-		// is not a current browser, but the first item exists, use that instead.
-		// This will work currently until workbench shutdown, because current
-		// browser is not yet persisted.
-		checkedBrowser = BrowserManager.getInstance().getCurrentWebBrowser();
-		if (checkedBrowser != null)
-			tableViewer.setChecked(checkedBrowser, true);
-		else {
-			Object obj = tableViewer.getElementAt(0);
-			if (obj != null)
-				tableViewer.setChecked(obj, true);
-		}
-
-		tableViewer
-				.addSelectionChangedListener(new ISelectionChangedListener() {
-					public void selectionChanged(SelectionChangedEvent event) {
-						IStructuredSelection sele = ((IStructuredSelection) tableViewer
-								.getSelection());
-						boolean sel = sele.getFirstElement() != null &&
-								!(sele.getFirstElement() instanceof SystemBrowserDescriptor);
-						remove.setEnabled(sel);
-						edit.setEnabled(sel);
-					}
-				});
-
-		tableViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				IStructuredSelection sel = ((IStructuredSelection) tableViewer
-						.getSelection());
-				Object firstElem = sel.getFirstElement();
-				if (firstElem != null && !(firstElem instanceof SystemBrowserDescriptor)) {
-					IBrowserDescriptor browser2 = (IBrowserDescriptor) sel
-							.getFirstElement();
-					IBrowserDescriptorWorkingCopy wc = browser2
-							.getWorkingCopy();
-					BrowserDescriptorDialog dialog = new BrowserDescriptorDialog(
-							getShell(), wc);
-					if (dialog.open() != Window.CANCEL) {
-						try {
-							tableViewer.refresh(wc.save());
-						} catch (Exception ex) {
-							// ignore
-						}
-					}
-				}
-			}
-		});
-
-		table.addKeyListener(new KeyListener() {
-			public void keyPressed(KeyEvent e) {
-				if (e.character == SWT.DEL) {
-					IStructuredSelection sel = ((IStructuredSelection) tableViewer
-							.getSelection());
-					if (sel.getFirstElement() != null) {
-						IBrowserDescriptor browser2 = (IBrowserDescriptor) sel
-								.getFirstElement();
-						try {
-							browser2.delete();
-							tableViewer.remove(browser2);
-
-							// need here to ensure that if the item deleted was
-							// checked, ie. was
-							// the current browser, that the new current browser
-							// will be the first in the
-							// list, typically, the internal browser, which
-							// cannot be
-							// deleted, and be current
-							BrowserManager manager = BrowserManager.getInstance();
-							if (browser2 == checkedBrowser) {
-								if (manager.browsers.size() > 0) {
-									checkedBrowser = (IBrowserDescriptor) manager.browsers.get(0);
-									tableViewer.setChecked(checkedBrowser, true);
-								}
-							}
-						} catch (Exception ex) {
-							// ignore
-						}
-					}
-				}
-			}
-
-			public void keyReleased(KeyEvent e) {
-				// ignore
-			}
-		});
-
-		Composite buttonComp = new Composite(composite, SWT.NONE);
-		layout = new GridLayout();
-		layout.horizontalSpacing = 0;
-		layout.verticalSpacing = convertVerticalDLUsToPixels(3);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		buttonComp.setLayout(layout);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-				| GridData.VERTICAL_ALIGN_FILL);
-		buttonComp.setLayoutData(data);
-
-		final Button add = SWTUtil.createButton(buttonComp, Messages.add);
-		add.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				BrowserDescriptorDialog dialog = new BrowserDescriptorDialog(
-						getShell());
-				if (dialog.open() == Window.CANCEL)
-					return;
-				tableViewer.refresh();
-				if (checkedBrowser != null)
-					tableViewer.setChecked(checkedBrowser, true);
-			}
-		});
-
-		edit = SWTUtil.createButton(buttonComp, Messages.edit);
-		edit.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IStructuredSelection sel = ((IStructuredSelection) tableViewer
-						.getSelection());
-				IBrowserDescriptor browser2 = (IBrowserDescriptor) sel
-						.getFirstElement();
-				IBrowserDescriptorWorkingCopy wc = browser2.getWorkingCopy();
-				BrowserDescriptorDialog dialog = new BrowserDescriptorDialog(
-						getShell(), wc);
-				if (dialog.open() != Window.CANCEL) {
-					try {
-						tableViewer.refresh(wc.save());
-					} catch (Exception ex) {
-						// ignore
-					}
-				}
-			}
-		});
-
-		remove = SWTUtil.createButton(buttonComp, Messages.remove);
-		remove.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IStructuredSelection sel = ((IStructuredSelection) tableViewer
-						.getSelection());
-				IBrowserDescriptor browser2 = (IBrowserDescriptor) sel
-						.getFirstElement();
-				try {
-					browser2.delete();
-					tableViewer.remove(browser2);
-
-					// need here to ensure that if the item deleted was checked,
-					// ie. was
-					// the current browser, that the new current browser will be
-					// the first in the
-					// list, typically, the internal browser, which cannot be
-					// deleted, and be current
-					BrowserManager manager = BrowserManager.getInstance();
-					if (browser2 == checkedBrowser) {
-						if (manager.browsers.size() > 0) {
-							checkedBrowser = (IBrowserDescriptor) manager.browsers.get(0);
-							tableViewer.setChecked(checkedBrowser, true);
-						}
-					}
-				} catch (Exception ex) {
-					// ignore
-				}
-			}
-		});
-
-		search = SWTUtil.createButton(buttonComp, Messages.search);
-		data = (GridData) search.getLayoutData();
-		data.verticalIndent = 9;
-		search.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				final List foundBrowsers = new ArrayList();
-				final List existingPaths = WebBrowserUtil
-						.getExternalBrowserPaths();
-
-				// select a target directory for the search
-				DirectoryDialog dialog = new DirectoryDialog(getShell());
-				dialog.setMessage(Messages.selectDirectory);
-				dialog.setText(Messages.directoryDialogTitle);
-
-				String path = dialog.open();
-				if (path == null)
-					return;
-
-				final File rootDir = new File(path);
-				ProgressMonitorDialog pm = new ProgressMonitorDialog(getShell());
-
-				IRunnableWithProgress r = new IRunnableWithProgress() {
-					public void run(IProgressMonitor monitor) {
-						monitor.beginTask(Messages.searchingTaskName,
-								IProgressMonitor.UNKNOWN);
-						search(rootDir, existingPaths, foundBrowsers, monitor);
-						monitor.done();
-					}
-				};
-
-				try {
-					pm.run(true, true, r);
-				} catch (InvocationTargetException ex) {
-					Trace.trace(Trace.SEVERE,
-							"Invocation Exception occured running monitor: " //$NON-NLS-1$
-									+ ex);
-				} catch (InterruptedException ex) {
-					Trace.trace(Trace.SEVERE,
-							"Interrupted exception occured running monitor: " //$NON-NLS-1$
-									+ ex);
-					return;
-				}
-
-				if (pm.getProgressMonitor().isCanceled())
-					return;
-
-				List browsersToCreate = foundBrowsers;
-
-				if (browsersToCreate == null) // cancelled
-					return;
-
-				if (browsersToCreate.isEmpty()) { // no browsers found
-					WebBrowserUtil.openMessage(Messages.searchingNoneFound);
-					return;
-				}
-
-				Iterator iterator = browsersToCreate.iterator();
-				while (iterator.hasNext()) {
-					IBrowserDescriptorWorkingCopy browser2 = (IBrowserDescriptorWorkingCopy) iterator
-							.next();
-					browser2.save();
-				}
-				tableViewer.refresh();
-				
-				if (checkedBrowser != null)
-					tableViewer.setChecked(checkedBrowser, true);
-			}
-		});
-
-		tableViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent e) {
-				checkNewDefaultBrowser(e.getElement());
-				checkedBrowser = (IBrowserDescriptor) e
-						.getElement();
-			}
-		});
-
-		/*external.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				boolean sel = !tableViewer.getSelection().isEmpty();
-				edit.setEnabled(sel);
-				remove.setEnabled(sel);
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// ignore
-			}
-		});*/
-		internal.setSelection(WebBrowserPreference.getBrowserChoice() == WebBrowserPreference.INTERNAL);
-		external.setSelection(WebBrowserPreference.getBrowserChoice() == WebBrowserPreference.EXTERNAL);
-
-		//boolean sel = !tableViewer.getSelection().isEmpty();
-		IStructuredSelection sele = ((IStructuredSelection) tableViewer
-				.getSelection());
-		boolean sel = sele.getFirstElement() != null &&
-				!(sele.getFirstElement() instanceof SystemBrowserDescriptor);
-		edit.setEnabled(sel);
-		remove.setEnabled(sel);
-
-		Dialog.applyDialogFont(composite);
-
-		return composite;
-	}
-
-	/**
-	 * Initializes this preference page using the passed workbench.
-	 * 
-	 * @param workbench
-	 *            the current workbench
-	 */
-	public void init(IWorkbench workbench) {
-		// do nothing
-	}
-
-	/**
-	 * 
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible)
-			setTitle(Messages.preferenceWebBrowserTitle);
-	}
-
-	protected Object getSelection(ISelection sel2) {
-		IStructuredSelection sel = (IStructuredSelection) sel2;
-		return sel.getFirstElement();
-	}
-
-	// Uncheck all the items except the current one that was just checked
-	protected void checkNewDefaultBrowser(Object browser) {
-		TableItem[] children = tableViewer.getTable().getItems();
-		for (int i = 0; i < children.length; i++) {
-			TableItem item = children[i];
-
-			if (!(item.getData().equals(browser)))
-				item.setChecked(false);
-		}
-	}
-
-	protected static void search(File directory, List existingPaths,
-			List foundBrowsers, IProgressMonitor monitor) {
-		if (monitor.isCanceled())
-			return;
-
-		monitor.subTask(NLS.bind(Messages.searching,
-				new String[] { Integer.toString(foundBrowsers.size()), directory.getAbsolutePath()}));
-		
-		String[] names = directory.list();
-		List subDirs = new ArrayList();
-
-		for (int i = 0; i < names.length; i++) {
-			if (monitor.isCanceled())
-				return;
-
-			File file = new File(directory, names[i]);
-
-			if (existingPaths.contains(file.getAbsolutePath().toLowerCase()))
-				continue;
-
-			IBrowserDescriptorWorkingCopy wc = WebBrowserUtil
-					.createExternalBrowser(file);
-			if (wc != null)
-				foundBrowsers.add(wc);
-			
-			if (file.isDirectory()) {
-				if (monitor.isCanceled())
-					return;
-				subDirs.add(file);
-			}
-		}
-		while (!subDirs.isEmpty()) {
-			File subDir = (File) subDirs.remove(0);
-			search(subDir, existingPaths, foundBrowsers, monitor);
-			if (monitor.isCanceled()) {
-				return;
-			}
-		}
-	}
-
-	/**
-	 * Performs special processing when this page's Defaults button has been
-	 * pressed.
-	 */
-	protected void performDefaults() {
-		internal.setSelection(WebBrowserPreference
-				.isDefaultUseInternalBrowser());
-		external.setSelection(!WebBrowserPreference.
-				isDefaultUseInternalBrowser());
-		
-		BrowserManager.getInstance().currentBrowser = null;
-		BrowserManager.getInstance().setupDefaultBrowsers();
-		tableViewer.refresh();
-		
-		checkedBrowser = BrowserManager.getInstance().getCurrentWebBrowser();
-		if (checkedBrowser != null)
-			tableViewer.setChecked(checkedBrowser, true);
-		
-		super.performDefaults();
-	}
-
-	/**
-	 * Method declared on IPreferencePage. Subclasses should override
-	 */
-	public boolean performOk() {
-		int choice;
-		if (internal.getSelection())
-			choice = WebBrowserPreference.INTERNAL;
-		else
-			choice = WebBrowserPreference.EXTERNAL;
-		WebBrowserPreference.setBrowserChoice(choice);
-		if (checkedBrowser != null)
-			BrowserManager.getInstance().setCurrentWebBrowser(checkedBrowser);
-
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserUIPlugin.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserUIPlugin.java
deleted file mode 100644
index 79a969b..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserUIPlugin.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-/**
- * The main web browser plugin class.
- */
-public class WebBrowserUIPlugin extends AbstractUIPlugin {
-	// Web browser plugin id
-	public static final String PLUGIN_ID = "org.eclipse.ui.browser"; //$NON-NLS-1$
-
-	// singleton instance of this class
-	private static WebBrowserUIPlugin singleton;
-	
-	// cached copy of all browsers
-	private static List browsers;
-
-	/**
-	 * Create the WebBrowserUIPlugin
-	 */
-	public WebBrowserUIPlugin() {
-		super();
-		singleton = this;
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 *
-	 * @return org.eclipse.ui.internal.browser.WebBrowserPlugin
-	 */
-	public static WebBrowserUIPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * Shuts down this plug-in and saves all plug-in state.
-	 *
-	 * @exception Exception
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		BrowserManager.safeDispose();
-	}
-	
-	/**
-	 * Returns an array of all known browers.
-	 * <p>
-	 * A new array is returned on each call, so clients may store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of browser instances {@link IClient}
-	 */
-	public static IBrowserExt[] getBrowsers() {
-		if (browsers == null)
-			loadBrowsers();
-		IBrowserExt[] c = new IBrowserExt[browsers.size()];
-		browsers.toArray(c);
-		return c;
-	}
-	
-	public static IBrowserExt findBrowsers(String executable) {
-		IBrowserExt[] browsers2 = getBrowsers();
-		if (browsers2 == null || executable == null)
-			return null;
-		
-		int ind1 = executable.lastIndexOf("/"); //$NON-NLS-1$
-		int ind2 = executable.lastIndexOf("\\"); //$NON-NLS-1$
-		if (ind2 > ind1)
-			ind1 = ind2;
-		executable = executable.substring(ind1 + 1);
-		
-		String os = Platform.getOS();
-		int size = browsers2.length;
-		for (int i = 0; i < size; i++) {
-			if (browsers2[i].getOS().toLowerCase().indexOf(os) != -1) {
-				if (browsers2[i].isAvailable()) {
-					String executable2 = browsers2[i].getExecutable();
-					if (executable.startsWith(executable2))
-						return browsers2[i];
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Load the browsers extension point.
-	 */
-	private static synchronized void loadBrowsers() {
-		if (browsers != null)
-			return;
-		Trace.trace(Trace.CONFIG, "->- Loading .browsers extension point ->-"); //$NON-NLS-1$
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(PLUGIN_ID, "browsers"); //$NON-NLS-1$
-
-		int size = cf.length;
-		browsers = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				browsers.add(new BrowserExt(cf[i]));
-				Trace.trace(Trace.CONFIG, "  Loaded browser: " + cf[i].getAttribute("id")); //$NON-NLS-1$ //$NON-NLS-2$
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load browser: " + cf[i].getAttribute("id"), t); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		Trace.trace(Trace.CONFIG, "-<- Done loading .browsers extension point -<-"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Logs an Error message with an exception. Note that the message should
-	 * already be localized to proper locale. ie: Resources.getString() should
-	 * already have been called
-	 */
-	public static synchronized void logError(String message, Throwable ex) {
-		if (message == null)
-			message = ""; //$NON-NLS-1$
-		Status errorStatus = new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK,
-				message, ex);
-		WebBrowserUIPlugin.getInstance().getLog().log(errorStatus);
-	}
-
-	/**
-	 * Logs a Warning message with an exception. Note that the message should
-	 * already be localized to proper local. ie: Resources.getString() should
-	 * already have been called
-	 */
-	/*public static synchronized void logWarning(String message) {
-		if (WebBrowserUIPlugin.DEBUG) {
-			if (message == null)
-				message = ""; //$NON-NLS-1$
-			Status warningStatus = new Status(IStatus.WARNING, PLUGIN_ID,
-					IStatus.OK, message, null);
-			WebBrowserUIPlugin.getInstance().getLog().log(warningStatus);
-		}
-	}*/
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserUtil.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserUtil.java
deleted file mode 100644
index 3249300..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserUtil.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.swt.program.Program;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.ui.PlatformUI;
-/**
- * Utility class for the Web browser tools.
- */
-public class WebBrowserUtil {
-	private static final String BROWSER_PACKAGE_NAME = "org.eclipse.swt.browser.Browser"; //$NON-NLS-1$
-
-	public static Boolean isInternalBrowserOperational;
-
-	private static final char STYLE_SEP = '-';
-
-	private static final int DEFAULT_STYLE = BrowserViewer.BUTTON_BAR
-			| BrowserViewer.LOCATION_BAR;
-
-	/**
-	 * WebBrowserUtil constructor comment.
-	 */
-	public WebBrowserUtil() {
-		super();
-	}
-
-	/**
-	 * Returns true if we're running on Windows.
-	 * 
-	 * @return boolean
-	 */
-	public static boolean isWindows() {
-		String os = System.getProperty("os.name"); //$NON-NLS-1$
-		if (os != null && os.toLowerCase().indexOf("win") >= 0) //$NON-NLS-1$
-			return true;
-		return false;
-	}
-
-	/**
-	 * Returns true if we're running on linux.
-	 * 
-	 * @return boolean
-	 */
-	public static boolean isLinux() {
-		String os = System.getProperty("os.name"); //$NON-NLS-1$
-		if (os != null && os.toLowerCase().indexOf("lin") >= 0) //$NON-NLS-1$
-			return true;
-		return false;
-	}
-
-	/**
-	 * Open a dialog window.
-	 * 
-	 * @param message
-	 *            java.lang.String
-	 */
-	public static void openError(String message) {
-		Display d = Display.getCurrent();
-		if (d == null)
-			d = Display.getDefault();
-
-		Shell shell = d.getActiveShell();
-		MessageDialog.openError(shell, Messages.errorDialogTitle, message);
-	}
-
-	/**
-	 * Open a dialog window.
-	 * 
-	 * @param message
-	 *            java.lang.String
-	 */
-	public static void openMessage(String message) {
-		Display d = Display.getCurrent();
-		if (d == null)
-			d = Display.getDefault();
-
-		Shell shell = d.getActiveShell();
-		MessageDialog.openInformation(shell, Messages.searchingTaskName,
-				message);
-	}
-
-	/**
-	 * Returns whether it should be possible to use the internal browser or not,
-	 * based on whether or not the org.eclipse.swt.Browser class can be
-	 * found/loaded. If it can it means is is supported on the platform in which
-	 * this plugin is running. If not, disable the ability to use the internal
-	 * browser. This method checks to see if it can new up a new
-	 * ExternalBrowserInstance. If the SWT widget can not be bound to the
-	 * particular operating system it throws an SWTException. We catch that and
-	 * set a boolean flag which represents whether or not we were successfully
-	 * able to create a ExternalBrowserInstance instance or not. If not, don't
-	 * bother adding the Internal Web ExternalBrowserInstance that uses this
-	 * widget. Designed to be attemped only once and the flag set used
-	 * throughout.
-	 * 
-	 * @return boolean
-	 */
-	public static boolean canUseInternalWebBrowser() {
-		// if we have already figured this out, don't do it again.
-		if (isInternalBrowserOperational != null)
-			return isInternalBrowserOperational.booleanValue();
-
-		// check for the class
-		try {
-			Class.forName(BROWSER_PACKAGE_NAME);
-		} catch (ClassNotFoundException e) {
-			isInternalBrowserOperational = new Boolean(false);
-			return false;
-		}
-
-		// try loading it
-		Shell shell = null;
-		try {
-			shell = new Shell(PlatformUI.getWorkbench().getDisplay());
-			new Browser(shell, SWT.NONE);
-			isInternalBrowserOperational = new Boolean(true);
-			return true;
-		} catch (Throwable t) {
-			WebBrowserUIPlugin.getInstance().getLog().log(
-					new Status(IStatus.WARNING, WebBrowserUIPlugin.PLUGIN_ID,
-							0, "Internal browser is not available: " + t.getMessage(), null)); //$NON-NLS-1$
-			isInternalBrowserOperational = new Boolean(false);
-			return false;
-		} finally {
-			if (shell != null)
-				shell.dispose();
-		}
-	}
-
-	public static boolean canUseSystemBrowser() {
-		// Disabling system browser on Solaris due to bug 94497
-		if (Platform.OS_SOLARIS.equals(Platform.getOS()))
-			return false;
-		return Program.findProgram("html") != null; //$NON-NLS-1$
-	}
-
-	public static List getExternalBrowserPaths() {
-		List paths = new ArrayList();
-		Iterator iterator = BrowserManager.getInstance().getWebBrowsers()
-				.iterator();
-		while (iterator.hasNext()) {
-			IBrowserDescriptor wb = (IBrowserDescriptor) iterator.next();
-			if (wb != null && wb.getLocation() != null)
-				paths.add(wb.getLocation().toLowerCase());
-		}
-		return paths;
-	}
-
-	/**
-	 * Add any supported EXTERNAL web browsers found after an arbitrary check in
-	 * specific paths
-	 */
-	public static void addFoundBrowsers(List list) {
-		List paths = getExternalBrowserPaths();
-
-		String os = Platform.getOS();
-		File[] roots = getUsableDrives(File.listRoots());
-		int rootSize = roots.length;
-
-		// Math.min(roots.length, 2); // just check the first two drives
-
-		IBrowserExt[] browsers = WebBrowserUIPlugin.getBrowsers();
-		int size = browsers.length;
-		for (int i = 0; i < size; i++) {
-			if (browsers[i].getDefaultLocations() != null
-					&& browsers[i].getOS().toLowerCase().indexOf(os) >= 0) {
-				for (int k = 0; k < rootSize; k++) {
-					int size2 = browsers[i].getDefaultLocations().length;
-					for (int j = 0; j < size2; j++) {
-						String location = browsers[i].getDefaultLocations()[j];
-						try {
-							File f = new File(roots[k], location);
-							if (!paths.contains(f.getAbsolutePath()
-									.toLowerCase())) {
-								if (f.exists()) {
-									BrowserDescriptor browser = new BrowserDescriptor();
-									browser.name = browsers[i].getName();
-									browser.location = f.getAbsolutePath();
-									browser.parameters = browsers[i]
-											.getParameters();
-									list.add(browser);
-									j += size2;
-								}
-							}
-						} catch (Exception e) {
-							// ignore
-						}
-					}
-				}
-			}
-		}
-	}
-
-	private static File[] getUsableDrives(File[] roots) {
-		if (!Platform.getOS().equals(Platform.OS_WIN32))
-			return roots;
-		ArrayList list = new ArrayList();
-		for (int i = 0; i < roots.length; i++) {
-			String path = roots[i].getAbsolutePath();
-			if (path != null
-					&& (path.toLowerCase().startsWith("a:") || path.toLowerCase().startsWith("b:"))) //$NON-NLS-1$ //$NON-NLS-2$
-				continue;
-			list.add(roots[i]);
-		}
-		return (File[]) list.toArray(new File[list.size()]);
-	}
-
-	/**
-	 * Create an external Web browser if the file matches the default (known)
-	 * browsers.
-	 * 
-	 * @param file
-	 * @return an external browser working copy
-	 */
-	public static IBrowserDescriptorWorkingCopy createExternalBrowser(File file) {
-		if (file == null || !file.isFile())
-			return null;
-
-		String executable = file.getName();
-		IBrowserExt[] browsers = WebBrowserUIPlugin.getBrowsers();
-		int size = browsers.length;
-		for (int i = 0; i < size; i++) {
-			if (executable.equals(browsers[i].getExecutable())) {
-				IBrowserDescriptorWorkingCopy browser = BrowserManager
-						.getInstance().createExternalWebBrowser();
-				browser.setName(browsers[i].getName());
-				browser.setLocation(file.getAbsolutePath());
-				browser.setParameters(browsers[i].getParameters());
-				return browser;
-			}
-		}
-
-		return null;
-	}
-
-	/**
-	 * Encodes browser style in the secondary id as id-style
-	 * 
-	 * @param browserId
-	 * @param style
-	 * @return secondaryId
-	 */
-	public static String encodeStyle(String browserId, int style) {
-		return browserId + STYLE_SEP + style;
-	}
-
-	/**
-	 * Decodes secondary id into a browser style.
-	 * 
-	 * @param secondaryId
-	 * @return style
-	 */
-	public static int decodeStyle(String secondaryId) {
-		if (secondaryId != null) {
-			int sep = secondaryId.lastIndexOf(STYLE_SEP);
-			if (sep != -1) {
-				String stoken = secondaryId.substring(sep + 1);
-				try {
-					return Integer.parseInt(stoken);
-				} catch (NumberFormatException e) {
-					// ignore
-				}
-			}
-		}
-		return DEFAULT_STYLE;
-	}
-
-	public static String decodeId(String encodedId) {
-		int sep = encodedId.lastIndexOf(STYLE_SEP);
-		if (sep != -1) {
-			return encodedId.substring(0, sep);
-		}
-		return encodedId;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserView.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserView.java
deleted file mode 100644
index 39617fc..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserView.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTarget;
-import org.eclipse.swt.dnd.FileTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-import org.eclipse.ui.part.ISetSelectionTarget;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * A Web browser viewer.
- */
-public class WebBrowserView extends ViewPart implements
-		IBrowserViewerContainer, ISetSelectionTarget {
-	public static final String WEB_BROWSER_VIEW_ID = "org.eclipse.ui.browser.view"; //$NON-NLS-1$
-
-	protected BrowserViewer viewer;
-
-	protected ISelectionListener listener;
-
-	public void createPartControl(Composite parent) {
-		int style = WebBrowserUtil.decodeStyle(getViewSite().getSecondaryId());
-		viewer = new BrowserViewer(parent, style);
-		viewer.setContainer(this);
-
-		/*
-		 * PropertyChangeListener propertyChangeListener = new
-		 * PropertyChangeListener() { public void
-		 * propertyChange(PropertyChangeEvent event) { if
-		 * (BrowserViewer.PROPERTY_TITLE.equals(event.getPropertyName())) {
-		 * setPartName((String) event.getNewValue()); } } };
-		 * viewer.addPropertyChangeListener(propertyChangeListener);
-		 */
-		initDragAndDrop();
-	}
-
-	public void dispose() {
-		if (viewer!=null)
-			viewer.setContainer(null);
-		if (listener != null)
-			removeSelectionListener();
-	}
-
-	public void setURL(String url) {
-		if (viewer != null)
-			viewer.setURL(url);
-	}
-
-	public void setFocus() {
-		viewer.setFocus();
-	}
-
-	public boolean close() {
-		try {
-			getSite().getPage().hideView(this);
-			return true;
-		} catch (Exception e) {
-			return false;
-		}
-	}
-
-	public IActionBars getActionBars() {
-		return getViewSite().getActionBars();
-	}
-
-	public void openInExternalBrowser(String url) {
-		try {
-			URL theURL = new URL(url);
-			IWorkbenchBrowserSupport support = PlatformUI.getWorkbench()
-					.getBrowserSupport();
-			support.getExternalBrowser().openURL(theURL);
-		} catch (MalformedURLException e) {
-			// TODO handle this
-		} catch (PartInitException e) {
-			// TODO handle this
-		}
-	}
-
-	public void addSelectionListener() {
-		if (listener != null)
-			return;
-
-		listener = new ISelectionListener() {
-			public void selectionChanged(IWorkbenchPart part,
-					ISelection selection) {
-				onSelectionChange(selection);
-			}
-		};
-		getSite().getWorkbenchWindow().getSelectionService()
-				.addPostSelectionListener(listener);
-	}
-	
-	private void onSelectionChange(ISelection selection) {
-		if (!(selection instanceof IStructuredSelection))
-			return;
-		IStructuredSelection sel = (IStructuredSelection) selection;
-		Object obj = sel.getFirstElement();
-		if (obj instanceof IAdaptable) {
-			IAdaptable adapt = (IAdaptable) obj;
-			URL url = getURLFromAdaptable(adapt);
-			if (url!=null)
-				setURL(url.toExternalForm());
-		}
-	}
-	
-	private URL getURLFromAdaptable(IAdaptable adapt) {
-		// test for path
-		IPath path = (IPath) adapt.getAdapter(IPath.class);
-		if (path != null) {
-			File file = path.toFile();
-			if (file.exists() && isWebFile(file.getName()))
-				try {
-					return file.toURL();
-				} catch (MalformedURLException e) {
-					return null;
-				}
-		}
-		return (URL)adapt.getAdapter(URL.class);
-	}
-
-	public void removeSelectionListener() {
-		if (listener == null)
-			return;
-		getSite().getWorkbenchWindow().getSelectionService()
-				.removePostSelectionListener(listener);
-		listener = null;
-	}
-
-	/**
-	 * Return true if the filename has a "web" extension.
-	 * 
-	 * @param name
-	 * @return
-	 */
-	protected boolean isWebFile(String name) {
-		return name.endsWith("html") || name.endsWith("htm") || name.endsWith("gif") || //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				name.endsWith("jpg"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Adds drag and drop support to the view.
-	 */
-	protected void initDragAndDrop() {
-		Transfer[] transfers = new Transfer[] {
-		// LocalSelectionTransfer.getInstance(),
-		// ResourceTransfer.getInstance(),
-		FileTransfer.getInstance() };
-
-		DropTarget dropTarget = new DropTarget(viewer, DND.DROP_COPY
-				| DND.DROP_DEFAULT);
-		dropTarget.setTransfer(transfers);
-		dropTarget.addDropListener(new WebBrowserViewDropAdapter(viewer));
-	}
-
-	public void selectReveal(ISelection selection) {
-		onSelectionChange(selection);
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserViewDropAdapter.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserViewDropAdapter.java
deleted file mode 100644
index 8a535a3..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/WebBrowserViewDropAdapter.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser;
-
-import java.io.File;
-
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetAdapter;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.dnd.FileTransfer;
-import org.eclipse.swt.dnd.TransferData;
-/**
- *
- */
-public class WebBrowserViewDropAdapter extends DropTargetAdapter {
-   /**
-    * The view to which this drop support has been added.
-    */
-   private BrowserViewer view;
-
-   /**
-    * The current operation.
-    */
-   private int currentOperation = DND.DROP_NONE;
-
-   /**
-    * The last valid operation.
-    */
-   private int lastValidOperation = DND.DROP_NONE;
-   
-   protected WebBrowserViewDropAdapter(BrowserViewer view) {
-		this.view = view;
-	}
-
-   /* (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(event.detail, event.currentDataType))
-           currentOperation = lastValidOperation;
-       else
-           currentOperation = DND.DROP_NONE;
-       
-       event.detail = currentOperation;
-   }
-
-   /* (non-Javadoc)
-    * Method declared on DropTargetAdapter.
-    * The drop operation has changed, see if the action
-    * should still be enabled.
-    */
-   public void dragOperationChanged(DropTargetEvent 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) {
-       //set the location feedback
-   	 event.feedback = DND.FEEDBACK_SELECT;
-
-       //see if anything has really changed before doing validation.
-       doDropValidation(event);
-   }
-
-   /* (non-Javadoc)
-    * Method declared on DropTargetAdapter.
-    * The user has dropped something on the desktop viewer.
-    */
-   public void drop(DropTargetEvent 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(event.detail, event.currentDataType))
-           event.detail = DND.DROP_NONE;
-   }
-
-	public void dragEnter(DropTargetEvent event) {
-		if (event.detail == DND.DROP_DEFAULT)
-			event.detail = DND.DROP_COPY;
-
-       doDropValidation(event);
-	}
-
-	/**
-    * 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
-    */
-	protected boolean performDrop(Object data) {
-		if (data instanceof String[]) {
-			String[] s = (String[]) data;
-			if (s == null || s.length == 0)
-				return true;
-			File f = new File(s[0]);
-			try {
-				view.setURL(f.toURL().toExternalForm());
-			} catch (Exception e) {
-				// TODO
-			}
-		}
-		
-		return true;
-	}
-
-	/**
-    * 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
-    */
-	protected boolean validateDrop(int operation, TransferData transferType) {
-		if (FileTransfer.getInstance().isSupportedType(transferType))
-			return true;
-		/*if (ResourceTransfer.getInstance().isSupportedType(transferType))
-			return true;
-		if (LocalSelectionTransfer.getInstance().isSupportedType(transferType))
-			return true;*/
-		
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/BrowserLog.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/BrowserLog.java
deleted file mode 100644
index 5980705..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/BrowserLog.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.browsers;
-
-import java.io.*;
-import com.ibm.icu.text.DateFormat;
-import com.ibm.icu.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.eclipse.ui.internal.browser.WebBrowserUIPlugin;
-/**
- * Log for messages output by external browser processes.
- */
-public class BrowserLog {
-	private static BrowserLog instance;
-	private String logFileName;
-	private boolean newSession;
-	DateFormat formatter = new SimpleDateFormat("MMM dd, yyyy kk:mm:ss.SS"); //$NON-NLS-1$
-	String LN = System.getProperty("line.separator"); //$NON-NLS-1$
-	/**
-	 * Constructor
-	 */
-	private BrowserLog() {
-		try {
-			newSession = true;
-			logFileName = WebBrowserUIPlugin.getInstance().getStateLocation().append("browser.log").toOSString(); //$NON-NLS-1$
-		} catch (Exception e) {
-			// can get here if platform is shutting down
-		}
-	}
-	/**
-	 * Obtains singleton
-	 */
-	private static BrowserLog getInstance() {
-		if (instance == null) {
-			instance = new BrowserLog();
-		}
-		return instance;
-	}
-	/**
-	 * Appends a line to the browser.log
-	 */
-	public static synchronized void log(String message) {
-		getInstance().append(message);
-	}
-	private void append(String message) {
-		if (logFileName == null) {
-			return;
-		}
-		Writer outWriter = null;
-		try {
-			outWriter = new BufferedWriter(new OutputStreamWriter(
-					new FileOutputStream(logFileName, true), "UTF-8")); //$NON-NLS-1$
-			if (newSession) {
-				newSession = false;
-				outWriter.write(LN + formatter.format(new Date())
-						+ " NEW SESSION" + LN); //$NON-NLS-1$
-			}
-			outWriter.write(formatter.format(new Date()) + " " + message + LN); //$NON-NLS-1$
-			outWriter.flush();
-			outWriter.close();
-		} catch (Exception e) {
-			if (outWriter != null) {
-				try {
-					outWriter.close();
-				} catch (IOException ioe) {
-					// ignore
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/DefaultBrowser.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/DefaultBrowser.java
deleted file mode 100644
index 6b220ef..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/DefaultBrowser.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.browsers;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.service.environment.Constants;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.browser.AbstractWebBrowser;
-import org.eclipse.ui.internal.browser.Messages;
-import org.eclipse.ui.internal.browser.Trace;
-import org.eclipse.ui.internal.browser.WebBrowserUIPlugin;
-/**
- * 
- */
-public class DefaultBrowser extends AbstractWebBrowser {
-	protected String location;
-	protected String parameters;
-	
-	public DefaultBrowser(String id, String location, String parameters) {
-		super(id);
-		this.location = location;
-		this.parameters = parameters;
-	}
-
-	/**
-	 * @see org.eclipse.help.browser.IBrowser#displayURL(java.lang.String)
-	 */
-	public void openURL(URL url2) throws PartInitException {
-		String url = url2.toExternalForm();
-		String path = location;
-
-		String[] command = prepareCommand(path, url);
-		Trace.trace(Trace.FINER, "Command: " + command); //$NON-NLS-1$
-
-		try {
-			Process pr = Runtime.getRuntime().exec(command);
-			Thread outConsumer = new StreamConsumer(pr.getInputStream());
-			outConsumer.setName("Custom browser adapter output reader"); //$NON-NLS-1$
-			outConsumer.start();
-			Thread errConsumer = new StreamConsumer(pr.getErrorStream());
-			errConsumer.setName("Custom browser adapter error reader"); //$NON-NLS-1$
-			errConsumer.start();
-		} catch (Exception e) {
-			WebBrowserUIPlugin.logError(
-				"Launching URL \"" //$NON-NLS-1$
-					+ url
-					+ "\" using browser program \"" //$NON-NLS-1$
-					+ path
-					+ "\" has failed.  Specify another browser in help preferences.", //$NON-NLS-1$
-					e);
-			throw new PartInitException(NLS.bind(Messages.errorCouldNotLaunchWebBrowser, path));
-		}
-	}
-
-	/**
-	 * Creates the final command to launch.
-	 * 
-	 * @param path
-	 * @param url
-	 * @return String[]
-	 */
-	protected String[] prepareCommand(String path, String url) {
-		ArrayList tokenList = new ArrayList();
-		//Divide along quotation marks
-		StringTokenizer qTokenizer = new StringTokenizer(path.trim(),
-			"\"", true); //$NON-NLS-1$
-		boolean withinQuotation = false;
-		String quotedString = ""; //$NON-NLS-1$
-		while (qTokenizer.hasMoreTokens()) {
-			String curToken = qTokenizer.nextToken();
-			if (curToken.equals("\"")) { //$NON-NLS-1$
-				if (withinQuotation) {
-					if (Constants.OS_WIN32.equalsIgnoreCase(Platform.getOS())) {
-						// need to quote URLs on Windows
-						tokenList.add("\"" + quotedString + "\""); //$NON-NLS-1$ //$NON-NLS-2$
-					} else {
-						// quotes prevent launching on Unix 35673
-						tokenList.add(quotedString);
-					}
-				} else {
-					quotedString = ""; //$NON-NLS-1$
-				}
-				withinQuotation = !withinQuotation;
-				continue;
-			} else if (withinQuotation) {
-				quotedString = curToken;
-				continue;
-			} else {
-				//divide unquoted strings along white space
-				StringTokenizer parser = new StringTokenizer(curToken.trim());
-				while (parser.hasMoreTokens()) {
-					tokenList.add(parser.nextToken());
-				}
-			}
-		}
-		// substitute %1 by url
-		boolean substituted = false;
-		for (int i = 0; i < tokenList.size(); i++) {
-			String token = (String) tokenList.get(i);
-			String newToken = doSubstitutions(token, url);
-			if (newToken != null) {
-				tokenList.set(i, newToken);
-				substituted = true;
-			}
-		}
-		// add the url if not substituted already
-		if (!substituted)
-			tokenList.add(url);
-
-		String[] command = new String[tokenList.size()];
-		tokenList.toArray(command);
-		return command;
-	}
-	
-	/**
-	 * Replaces any occurrences of <code>"%1"</code> or <code>%1</code> with
-	 * the URL.
-	 * 
-	 * @param token
-	 *            The token in which the substitutions should be made; must not
-	 *            be <code>null</code>.
-	 * @return The substituted string, if a substitution is made;
-	 *         <code>null</code> if no substitution is made.
-	 */
-	protected String doSubstitutions(String token, String url) {
-		boolean substituted = false;
-		StringBuffer newToken = new StringBuffer(token);
-		String substitutionMarker = "%1"; //$NON-NLS-1$
-		int index = newToken.indexOf(substitutionMarker);
-		while (index != -1) {
-			newToken.replace(index, index + substitutionMarker.length(), url);
-			index = newToken.indexOf(substitutionMarker, index + url.length());
-			substituted = true;
-		}
-
-		if (substituted) {
-			return newToken.toString();
-		}
-
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/DefaultBrowserFactory.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/DefaultBrowserFactory.java
deleted file mode 100644
index 83275b9..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/DefaultBrowserFactory.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.browsers;
-
-import org.eclipse.ui.browser.BrowserFactory;
-import org.eclipse.ui.browser.IWebBrowser;
-/**
- * Produces Custom Browser
- */
-public class DefaultBrowserFactory extends BrowserFactory {
-	/**
-	 * @see org.eclipse.ui.browser.provisional.BrowserFactory#createBrowser()
-	 */
-	public IWebBrowser createBrowser(String id, String location, String parameters) {
-		return new DefaultBrowser(id, location, parameters);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/MozillaBrowser.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/MozillaBrowser.java
deleted file mode 100644
index cdb38bd..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/MozillaBrowser.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.browsers;
-
-import java.io.*;
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.browser.AbstractWebBrowser;
-import org.eclipse.ui.internal.browser.WebBrowserUIPlugin;
-/**
- * Browser adapter for browsers supporting -remote openURL command line option
- * i.e. Mozilla and Netscape.
- */
-public class MozillaBrowser extends AbstractWebBrowser {
-	// delay that it takes mozilla to start responding
-	// to remote command after mozilla has been called
-	protected static final int DELAY = 5000;
-
-	protected long browserFullyOpenedAt = 0;
-
-	private BrowserThread lastBrowserThread = null;
-
-	protected String executable;
-	
-	protected boolean firstLaunch = true;
-
-	/**
-	 * Constructor
-	 * 
-	 * @executable executable filename to launch
-	 * @executableName name of the program to display when error occurs
-	 */
-	public MozillaBrowser(String id, String executable) {
-		super(id);
-		this.executable = executable;
-	}
-
-	/*
-	 * @see IBrowser#displayURL(String)
-	 */
-	public void openURL(URL url2) {
-		String url = url2.toExternalForm();
-		if (lastBrowserThread != null)
-			lastBrowserThread.exitRequested = true;
-
-		lastBrowserThread = new BrowserThread(url);
-		lastBrowserThread.setDaemon(true);
-		lastBrowserThread.start();
-	}
-
-	private class BrowserThread extends Thread {
-		public boolean exitRequested = false;
-
-		private String url;
-
-		public BrowserThread(String urlName) {
-			this.url = urlName;
-		}
-
-		/**
-		 * @param browserCmd
-		 * @return int 0 if success
-		 */
-		private int openBrowser(String browserCmd) {
-			try {
-				Process pr = Runtime.getRuntime().exec(browserCmd);
-				StreamConsumer outputs = new StreamConsumer(pr.getInputStream());
-				(outputs).start();
-				StreamConsumer errors = new StreamConsumer(pr.getErrorStream());
-				(errors).start();
-				pr.waitFor();
-				int ret = pr.exitValue();
-
-				if (ret == 0 && errorsInOutput(outputs, errors)) {
-					return -1;
-				}
-				return ret;
-			} catch (InterruptedException e) {
-				// ignore
-			} catch (IOException e) {
-				WebBrowserUIPlugin.logError("Launching " + executable //$NON-NLS-1$
-					+ " has failed.", e); //$NON-NLS-1$
-				// TODO: log error
-				/*String msg = HelpBaseResources.getString(
-						"MozillaBrowser.executeFailed", //$NON-NLS-1$
-						executableName);
-				BaseHelpSystem.getDefaultErrorUtil()
-						.displayError(msg, uiThread);*/
-				// return success, so second command does not execute
-				return 0;
-			}
-			return -1;
-		}
-
-		/**
-		 * On some OSes 0 is always returned by netscape -remote. It is
-		 * necessary to examine ouput to find out failure
-		 * 
-		 * @param outputs
-		 * @param errors
-		 * @return @throws
-		 *         InterruptedException
-		 */
-		private boolean errorsInOutput(StreamConsumer outputs,
-				StreamConsumer errors) {
-			try {
-				outputs.join(1000);
-				if (outputs.getLastLine() != null
-						&& (outputs.getLastLine().indexOf(
-								"No running window found") //$NON-NLS-1$
-						>= 0 || outputs.getLastLine().indexOf(
-								"not running on display") //$NON-NLS-1$
-						>= 0)) {
-					return true;
-				}
-				errors.join(1000);
-				if (errors.getLastLine() != null
-						&& (errors.getLastLine().indexOf(
-								"No running window found") //$NON-NLS-1$
-						>= 0 || errors.getLastLine().indexOf(
-								"not running on display") //$NON-NLS-1$
-						>= 0)) {
-					return true;
-				}
-			} catch (InterruptedException ie) {
-				// ignore
-			}
-			return false;
-		}
-
-		public void run() {
-			// if browser is opening, wait until it fully opens
-			waitForBrowser();
-			if (exitRequested)
-				return;
-			if (firstLaunch && Platform.OS_WIN32.equals(Platform.getOS())) {
-				if (openBrowser(executable + " " + url) == 0) //$NON-NLS-1$
-					return;
-				browserFullyOpenedAt = System.currentTimeMillis() + DELAY;
-				return;
-			}
-			if (openBrowser(executable + " -remote openURL(" + url + ")") //$NON-NLS-1$ //$NON-NLS-2$
-					== 0)
-				return;
-			
-			if (exitRequested)
-				return;
-			browserFullyOpenedAt = System.currentTimeMillis() + DELAY;
-			openBrowser(executable + " " + url); //$NON-NLS-1$
-		}
-
-		private void waitForBrowser() {
-			while (System.currentTimeMillis() < browserFullyOpenedAt)
-				try {
-					if (exitRequested)
-						return;
-					Thread.sleep(100);
-				} catch (InterruptedException ie) {
-					// ignore
-				}
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/MozillaFactory.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/MozillaFactory.java
deleted file mode 100644
index a5dc6eb..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/MozillaFactory.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.browsers;
-
-import org.eclipse.ui.browser.BrowserFactory;
-import org.eclipse.ui.browser.IWebBrowser;
-
-public class MozillaFactory extends BrowserFactory {
-	private MozillaBrowser browserInstance = null;
-	
-	/**
-	 * Constructor.
-	 */
-	public MozillaFactory() {
-		super();
-	}
-	
-	/*
-	 * @see BrowserFactory#isAvailable()
-	 */
-	/*public boolean isAvailable() {
-		try {
-			Process pr = Runtime.getRuntime().exec("which " + executable); //$NON-NLS-1$
-			StreamConsumer outputs = new StreamConsumer(pr.getInputStream());
-			(outputs).start();
-			StreamConsumer errors = new StreamConsumer(pr.getErrorStream());
-			(errors).start();
-			pr.waitFor();
-			
-			int ret = pr.exitValue();
-			if (ret == 0)
-				return !errorsInOutput(outputs, errors);
-			return false;
-		} catch (InterruptedException e) {
-			return false;
-		} catch (IOException e) {
-			// launching which failed, assume browser executable is present
-			return true;
-		}
-	}*/
-	
-	/**
-	 * On some OSes 0 is always returned by "which" command it is necessary to
-	 * examine ouput to find out failure.
-	 * 
-	 * @param outputs
-	 * @param errors
-	 * @return @throws
-	 *         InterruptedException
-	 */
-	/*private boolean errorsInOutput(StreamConsumer outputs, StreamConsumer errors) {
-		try {
-			outputs.join(1000);
-			if (outputs.getLastLine() != null
-				&& outputs.getLastLine()
-					.indexOf("no " + executable + " in") //$NON-NLS-1$ //$NON-NLS-2$
-					>= 0) {
-				return true;
-			}
-			errors.join(1000);
-			if (errors.getLastLine() != null
-					&& errors.getLastLine().indexOf("no " + executable + " in") //$NON-NLS-1$ //$NON-NLS-2$
-					>= 0) {
-				return true;
-			}
-		} catch (InterruptedException ie) {
-			// ignore
-		}
-		return false;
-	}*/
-
-	/*
-	 * @see BrowserFactory#createBrowser()
-	 */
-	public IWebBrowser createBrowser(String id, String location, String parameters) {
-		// Create single browser for all clients
-		if (browserInstance == null) {
-			browserInstance = new MozillaBrowser(id, location);
-		}
-		return browserInstance;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/NullBrowser.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/NullBrowser.java
deleted file mode 100644
index 2c84e0e..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/NullBrowser.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.browsers;
-
-import java.net.URL;
-
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.browser.AbstractWebBrowser;
-import org.eclipse.ui.internal.browser.Messages;
-import org.eclipse.ui.internal.browser.WebBrowserUIPlugin;
-
-public class NullBrowser extends AbstractWebBrowser {
-	public NullBrowser(String id) {
-		super(id);
-	}
-
-	public void openURL(URL url) throws PartInitException {
-		WebBrowserUIPlugin.logError(
-			"There is no browser adapter configured to display " //$NON-NLS-1$
-			+ url
-			+ ".  Ensure that you have a required browser and adapter installed, and that the browser program is available on the system path.", //$NON-NLS-1$
-			null);
-		throw new PartInitException(Messages.errorNoBrowser);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/StreamConsumer.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/StreamConsumer.java
deleted file mode 100644
index 734b46a..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/browsers/StreamConsumer.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.browsers;
-
-import java.io.*;
-
-import org.eclipse.ui.internal.browser.WebBrowserUIPlugin;
-/**
- * Used to receive output from processes
- */
-public class StreamConsumer extends Thread {
-	BufferedReader bReader;
-
-	private String lastLine;
-
-	public StreamConsumer(InputStream inputStream) {
-		super();
-		setDaemon(true);
-		bReader = new BufferedReader(new InputStreamReader(inputStream));
-	}
-
-	public void run() {
-		try {
-			String line;
-			while (null != (line = bReader.readLine())) {
-				lastLine = line;
-				BrowserLog.log(line);
-			}
-			bReader.close();
-		} catch (IOException ioe) {
-			WebBrowserUIPlugin.logError("Exception occurred reading from web browser.", ioe); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * @return last line obtained or null
-	 */
-	public String getLastLine() {
-		return lastLine;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/DefaultBrowser.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/DefaultBrowser.java
deleted file mode 100644
index 6952a8a..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/DefaultBrowser.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.macosx;
-
-import java.io.*;
-import java.net.URL;
-
-import org.eclipse.ui.browser.AbstractWebBrowser;
-import org.eclipse.ui.internal.browser.WebBrowserUIPlugin;
-
-public class DefaultBrowser extends AbstractWebBrowser {
-
-	public DefaultBrowser(String id) {
-		super(id);
-	}
-
-	/**
-	 * @see org.eclipse.help.browser.IBrowser#displayURL(String)
-	 */
-	public void openURL(URL url2) {
-		String url = url2.toExternalForm();
-		/*
-		 * Code from Marc-Antoine Parent
-		 */
-		try {
-			Runtime.getRuntime().exec(new String[] { "/usr/bin/osascript", //$NON-NLS-1$
-					"-e", //$NON-NLS-1$
-					"open location \"" + url + "\"" }); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (IOException ioe) {
-			WebBrowserUIPlugin.logError("Launching \"osascript\" has failed.", ioe); //$NON-NLS-1$
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/DefaultBrowserFactory.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/DefaultBrowserFactory.java
deleted file mode 100644
index 0810f9b..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/DefaultBrowserFactory.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.macosx;
-
-import org.eclipse.ui.browser.BrowserFactory;
-import org.eclipse.ui.browser.IWebBrowser;
-
-public class DefaultBrowserFactory extends BrowserFactory {
-	/*
-	 * @see BrowserFactory#createBrowser()
-	 */
-	public IWebBrowser createBrowser(String id, String location, String parameters) {
-		return new DefaultBrowser(id);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/SafariBrowser.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/SafariBrowser.java
deleted file mode 100644
index 6d8b876..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/SafariBrowser.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.macosx;
-
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-
-import org.eclipse.ui.internal.browser.browsers.DefaultBrowser;
-
-public class SafariBrowser extends DefaultBrowser {
-	
-	public SafariBrowser(String id, String location, String parameters) {
-		super(id, location, parameters);
-		this.location = location;
-		this.parameters = parameters;
-	}
-
-	/**
-	 * Creates the final command to launch.
-	 * 
-	 * @param path
-	 * @param url
-	 * @return String[]
-	 */
-	protected String[] prepareCommand(String path, String url) {
-		if (url != null && url.toLowerCase().startsWith("file:")) { //$NON-NLS-1$
-			url = url.substring(5);
-		}
-		
-		ArrayList tokenList = new ArrayList();
-		//Divide along quotation marks
-		StringTokenizer qTokenizer = new StringTokenizer(path.trim(),
-			"\"", true); //$NON-NLS-1$
-		boolean withinQuotation = false;
-		String quotedString = ""; //$NON-NLS-1$
-		while (qTokenizer.hasMoreTokens()) {
-			String curToken = qTokenizer.nextToken();
-			if (curToken.equals("\"")) { //$NON-NLS-1$
-				if (withinQuotation) {
-					// quotes prevent launching on Unix 35673
-					tokenList.add(quotedString);
-				} else {
-					quotedString = ""; //$NON-NLS-1$
-				}
-				withinQuotation = !withinQuotation;
-				continue;
-			} else if (withinQuotation) {
-				quotedString = curToken;
-				continue;
-			} else {
-				//divide unquoted strings along white space
-				StringTokenizer parser = new StringTokenizer(curToken.trim());
-				while (parser.hasMoreTokens()) {
-					tokenList.add(parser.nextToken());
-				}
-			}
-		}
-		// substitute %1 by url
-		boolean substituted = false;
-		for (int i = 0; i < tokenList.size(); i++) {
-			String token = (String) tokenList.get(i);
-			String newToken = doSubstitutions(token, url);
-			if (newToken != null) {
-				tokenList.set(i, newToken);
-				substituted = true;
-			}
-		}
-		// add the url if not substituted already
-		if (!substituted)
-			tokenList.add(url);
-
-		String[] command = new String[tokenList.size()];
-		tokenList.toArray(command);
-		return command;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/SafariBrowserFactory.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/SafariBrowserFactory.java
deleted file mode 100644
index 41d8312..0000000
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/macosx/SafariBrowserFactory.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.browser.macosx;
-
-import org.eclipse.ui.browser.BrowserFactory;
-import org.eclipse.ui.browser.IWebBrowser;
-
-public class SafariBrowserFactory extends BrowserFactory {
-	/*
-	 * @see BrowserFactory#createBrowser()
-	 */
-	public IWebBrowser createBrowser(String id, String location, String parameters) {
-		return new SafariBrowser(id, location, parameters);
-	}
-}
\ No newline at end of file
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/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.carbon/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ef556a6..0000000
--- a/bundles/org.eclipse.ui.carbon/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,79 +0,0 @@
-#Mon Feb 06 11:16:35 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.ui.carbon/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.ui.carbon/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 9e97fa0..0000000
--- a/bundles/org.eclipse.ui.carbon/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Mon Jul 18 11:56:01 EDT 2005
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=false
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.1\n *\n * ${tags}\n */</template><template context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/bundles/org.eclipse.ui.carbon/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.ui.carbon/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 42b98f6..0000000
--- a/bundles/org.eclipse.ui.carbon/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Nov 16 14:10:56 EST 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=0
-compilers.p.illegal-att-value=0
-compilers.use-project=true
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/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.carbon/META-INF/MANIFEST.MF
deleted file mode 100644
index 2c0ffb8..0000000
--- a/bundles/org.eclipse.ui.carbon/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %fragmentName
-Bundle-SymbolicName: org.eclipse.ui.carbon; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.ui;bundle-version="[3.2.0,4.0.0)"
-Bundle-Localization: fragment-carbon
-Export-Package: org.eclipse.ui.carbon
-Eclipse-LazyStart: true
-Eclipse-PlatformFilter: (osgi.ws=carbon)
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/bundles/org.eclipse.ui.carbon/about.html b/bundles/org.eclipse.ui.carbon/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.ui.carbon/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</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 af90fd1..0000000
--- a/bundles/org.eclipse.ui.carbon/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-bin.includes = fragment.xml,\
-               fragment-carbon.properties,\
-               META-INF/,\
-               .
diff --git a/bundles/org.eclipse.ui.carbon/fragment-carbon.properties b/bundles/org.eclipse.ui.carbon/fragment-carbon.properties
deleted file mode 100644
index cb3a1cf..0000000
--- a/bundles/org.eclipse.ui.carbon/fragment-carbon.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-providerName=Eclipse.org
-fragmentName=Eclipse UI MacOS X Enhancements
diff --git a/bundles/org.eclipse.ui.carbon/fragment.xml b/bundles/org.eclipse.ui.carbon/fragment.xml
deleted file mode 100644
index fadc7b6..0000000
--- a/bundles/org.eclipse.ui.carbon/fragment.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<fragment>
-
-   <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 fe85497..0000000
--- a/bundles/org.eclipse.ui.carbon/scripts/exportplugin.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<project name="org.eclipse.ui.carbon" default="export" basedir="..">
-
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="tempdir" value="../../tmp" />
-		<property name="plugin" value="org.eclipse.ui.carbon" />
-		<property name="plugin_version"  value="_3.1.0" />
-		<property name="dest"  value="${destdir}/${plugin}${plugin_version}" />
-		<property name="destjar"  value="${destdir}/${plugin}${plugin_version}.jar" />
-	</target>
-
-	<target name="build" depends="init">
-    	<eclipse.incrementalBuild project="${plugin}" kind="incr"/>
-	</target>
-
-	<target name="export" depends="build">
-		<delete dir="${tempdir}" />
-		<mkdir dir="${tempdir}" />
-		<mkdir dir="${destdir}" />
-		<delete file="${destjar}" />
-		<zip zipfile="${tempdir}/carbonsrc.zip">
-		    <fileset dir="src" />
-  		</zip>
-		<zip zipfile="${destjar}">
-			<fileset dir=".">
-			  <include name="fragment.xml" />
-			  <include name="fragment-carbon.properties" />
-			  <include name="META-INF/**" />
-			</fileset>
-			<fileset dir="bin" />
-			<fileset file="${tempdir}/carbonsrc.zip" />
-		</zip>
-		<delete file="${tempdir}/carbonsrc.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 d06ff9d..0000000
--- a/bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/CarbonUIEnhancer.java
+++ /dev/null
@@ -1,348 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.carbon;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.NotEnabledException;
-import org.eclipse.core.commands.NotHandledException;
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.Platform;
-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.swt.internal.Callback;
-import org.eclipse.swt.internal.carbon.HICommand;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IStartup;
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.IHandlerService;
-import org.eclipse.ui.internal.WorkbenchWindow;
-
-/**
- * The CarbonUIEnhancer provides the standard "About" and "Preference" menu items
- * and links them to the corresponding workbench commands. 
- * This must be done in a MacOS X fragment because SWT doesn't provide an abstraction
- * for the (MacOS X only) application menu and we have to use MacOS specific natives.
- * The fragment is for the org.eclipse.ui plugin because we need access to the
- * Workbench "About" and "Preference" actions.
- */
-public class CarbonUIEnhancer implements IStartup {
-
-    class Target {
-		public int toolbarProc (int nextHandler, int theEvent, int userData) {
-			int eventKind = OS.GetEventKind (theEvent);
-			if (eventKind != OS.kEventWindowToolbarSwitchMode)
-				return OS.eventNotHandledErr;
-			
-			int [] theWindow = new int [1];
-			OS.GetEventParameter (theEvent, OS.kEventParamDirectObject, OS.typeWindowRef, null, 4, null, theWindow);
-			
-			int [] theRoot = new int [1];
-			OS.GetRootControl (theWindow [0], theRoot);
-			Widget widget = Display.getCurrent().findWidget(theRoot [0]);
-			
-			if (!(widget instanceof Shell)) {
-				return OS.eventNotHandledErr;
-			}
-			Shell shell = (Shell) widget;
-			IWorkbenchWindow[] windows = PlatformUI.getWorkbench()
-					.getWorkbenchWindows();
-			for (int i = 0; i < windows.length; i++) {
-				if (windows[i].getShell() == shell) {
-					return runCommand("org.eclipse.ui.ToggleCoolbarAction"); //$NON-NLS-1$
-				}
-			}
-			return OS.eventNotHandledErr;
-		}
-
-        public 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;
-        }
-	}
-
-	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 String fAboutActionName;
-
-    /**
-     * Default constructor
-     */
-    public CarbonUIEnhancer() {
-        IProduct product = Platform.getProduct();
-        String productName = null;
-        if (product != null)
-            productName = product.getName();
-        
-		ResourceBundle resourceBundle = ResourceBundle.getBundle(RESOURCE_BUNDLE);
-		try {
-			if (productName != null) {
-				String format = resourceBundle.getString("AboutAction.format"); //$NON-NLS-1$
-				if (format != null)
-					fAboutActionName= MessageFormat.format(format, new Object[] { productName } );
-			}
-			if (fAboutActionName == null)
-				fAboutActionName = resourceBundle.getString("AboutAction.name"); //$NON-NLS-1$
-		} catch (MissingResourceException e) {
-		}
-		
-		if (fAboutActionName == null)
-			fAboutActionName = "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);
-				hookToolbarButtonCallback();
-				hookWorkbenchListener();
-				// modify all shells opened on startup
-				IWorkbenchWindow[] windows = PlatformUI.getWorkbench()
-						.getWorkbenchWindows();
-				for (int i = 0; i < windows.length; i++) {
-					modifyWindowShell(windows[i]);
-				}
-			}
-        });
-    }
-
-    /**
-	 * Hooks a listener that tweaks newly opened workbench window shells with
-	 * the proper OS flags.
-	 * 
-	 * @since 3.2
-	 */
-    protected void hookWorkbenchListener() {
-		PlatformUI.getWorkbench().addWindowListener(new IWindowListener() {
-
-			public void windowActivated(IWorkbenchWindow window) {
-				// no-op
-			}
-
-			public void windowDeactivated(IWorkbenchWindow window) {
-				// no-op
-			}
-
-			public void windowClosed(IWorkbenchWindow window) {
-				// no-op
-			}
-
-			public void windowOpened(IWorkbenchWindow window) {
-				modifyWindowShell(window);
-			}});
-	}
-
-    /**
-	 * Modify the given workbench window shell bits to show the toolbar toggle
-	 * button.
-	 * 
-	 * @param window
-	 *            the window to modify
-	 * @since 3.2
-	 */
-	protected void modifyWindowShell(IWorkbenchWindow window) {
-		// only add the button when either the coolbar or perspectivebar
-		// is initially visible. This is so that RCP apps can choose to use
-		// this fragment without fear that their explicitly invisble bars
-		// can't be shown.
-		boolean coolBarInitiallyVsible = ((WorkbenchWindow) window)
-				.getCoolBarVisible();
-		boolean perspectiveBarInitiallyVsible = ((WorkbenchWindow) window)
-				.getPerspectiveBarVisible();
-
-		if (coolBarInitiallyVsible || perspectiveBarInitiallyVsible) {
-			// modify the newly opened window with the correct OS X
-			// style bits such that it possesses the toolbar button
-			Shell shell = window.getShell();
-			int windowHandle = OS.GetControlOwner(shell.handle);
-			OS.ChangeWindowAttributes(windowHandle,
-					OS.kWindowToolbarButtonAttribute, 0);
-		}
-	}
-	
-	/**
-	 * Hook the window toolbar button to toggle the visibility of the coolbar
-	 * and perspective bar.
-	 * 
-	 * @since 3.2
-	 */
-    protected void hookToolbarButtonCallback() {
-		Object target = new Target();
-		
-	    final Callback commandCallback = new Callback(target, "toolbarProc", 3); //$NON-NLS-1$
-        int commandProc = commandCallback.getAddress();
-        if (commandProc == 0) {
-            commandCallback.dispose();
-            return; // give up
-        }
-        
-        int[] mask = new int[] { OS.kEventClassWindow, OS.kEventWindowToolbarSwitchMode };
-        OS.InstallEventHandler(OS.GetApplicationEventTarget(), commandProc,
-                mask.length / 2, mask, 0, null);
-		
-	}
-
-	/**
-     * See Apple Technical Q&A 1079 (http://developer.apple.com/qa/qa2001/qa1079.html)
-     */
-    private void hookApplicationMenu(Display display) {
-
-        // Callback target
-        Object target = new Target();
-
-        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 = fAboutActionName.length();
-            char buffer[] = new char[l];
-            fAboutActionName.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) {
-        	IMenuManager manager = ((WorkbenchWindow)window).getActionBars().getMenuManager();
-        	IAction action = findAction(actionId, manager);
-        	if (action != null && action.isEnabled()) {
-        		action.run();
-        		return OS.noErr;
-        	}
-        }
-        return OS.eventNotHandledErr;
-       
-    }
-    
-    private int runCommand(String commandId) {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		if (workbench == null)
-			return OS.eventNotHandledErr;
-		
-		IWorkbenchWindow activeWorkbenchWindow = workbench
-				.getActiveWorkbenchWindow();
-		if (activeWorkbenchWindow == null)
-			return OS.eventNotHandledErr;
-		
-		IHandlerService commandService = (IHandlerService) activeWorkbenchWindow
-				.getService(IHandlerService.class);
-
-		if (commandService != null) {
-			try {
-				commandService.executeCommand(commandId, null);
-				return OS.noErr;
-			} catch (ExecutionException e) {
-			} catch (NotDefinedException e) {
-			} catch (NotEnabledException e) {
-			} catch (NotHandledException e) {
-			}
-		}
-		return OS.eventNotHandledErr;
-	}
-
-    /**
-	 * Find the action with the given ID by recursivly crawling the provided
-	 * menu manager. If the action cannot be found <code>null</code> is
-	 * returned.
-	 * 
-	 * @param actionId
-	 *            the id to search for
-	 * @param manager
-	 *            the manager to search
-	 * @return the action or <code>null</code>
-	 */
-	private IAction findAction(String actionId, IMenuManager manager) {
-		IContributionItem[] items = manager.getItems();
-		for (int i = 0; i < items.length; i++) {
-			IContributionItem item = items[i];
-			if (item instanceof ActionContributionItem) {
-				ActionContributionItem aci = (ActionContributionItem) item;
-				String id = aci.getId();
-				if (id != null && id.equals(actionId))
-					return aci.getAction();
-			} else if (item instanceof IMenuManager) {
-				IAction found = findAction(actionId, (IMenuManager) item);
-				if (found != null)
-					return found;
-			}
-		}
-		return null;
-	}
-}
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 698f8ab..0000000
--- a/bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/Messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-AboutAction.format=About {0}
-AboutAction.name=About
diff --git a/bundles/org.eclipse.ui.forms/.classpath b/bundles/org.eclipse.ui.forms/.classpath
deleted file mode 100644
index ce73933..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.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<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/.options b/bundles/org.eclipse.ui.forms/.options
deleted file mode 100644
index e6dbf14..0000000
--- a/bundles/org.eclipse.ui.forms/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-org.eclipse.ui.forms/debug=true
-org.eclipse.ui.forms/debug/text=true
-org.eclipse.ui.forms/debug/focus=true
-org.eclipse.ui.forms/debug/textsize=true
\ 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 3c23ea4..0000000
--- a/bundles/org.eclipse.ui.forms/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.forms</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.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.ui.forms/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.forms/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 08ca140..0000000
--- a/bundles/org.eclipse.ui.forms/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,71 +0,0 @@
-#Mon Feb 05 16:36:24 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/bundles/org.eclipse.ui.forms/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.forms/META-INF/MANIFEST.MF
deleted file mode 100644
index 29154cf..0000000
--- a/bundles/org.eclipse.ui.forms/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,24 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %name
-Bundle-SymbolicName: org.eclipse.ui.forms
-Bundle-Version: 3.3.0.qualifier
-Bundle-Vendor: %provider-name
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.forms,
- org.eclipse.ui.forms.editor,
- org.eclipse.ui.forms.events,
- org.eclipse.ui.forms.widgets,
- org.eclipse.ui.internal.forms;x-internal:=true,
- org.eclipse.ui.internal.forms.widgets;x-internal:=true
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.1.0,4.0.0)",
- org.eclipse.jface;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui;bundle-version="[3.2.0,4.0.0)";resolution:=optional
-Eclipse-LazyStart: true
-Import-Package: com.ibm.icu.text,
- javax.xml.parsers,
- org.w3c.dom,
- org.xml.sax
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.0/Foundation-1.0,
- J2SE-1.3
diff --git a/bundles/org.eclipse.ui.forms/about.html b/bundles/org.eclipse.ui.forms/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.ui.forms/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</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 a0ef5a1..0000000
--- a/bundles/org.eclipse.ui.forms/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.properties,\
-               .,\
-               about.html,\
-               META-INF/,\
-               icons/
-source.. = src/
-src.includes = about.html
diff --git a/bundles/org.eclipse.ui.forms/component.xml b/bundles/org.eclipse.ui.forms/component.xml
deleted file mode 100644
index 0f2d49a..0000000
--- a/bundles/org.eclipse.ui.forms/component.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="UI  Forms"><description url=""></description><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.ui.forms" fragment="false"/><package name="org.eclipse.ui.forms"></package><package name="org.eclipse.ui.forms.widgets"></package><package name="org.eclipse.ui.forms.editor"></package><package name="org.eclipse.ui.forms.events"></package></component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/icons/progress/ani/progress.gif b/bundles/org.eclipse.ui.forms/icons/progress/ani/progress.gif
deleted file mode 100644
index fc6bd80..0000000
--- a/bundles/org.eclipse.ui.forms/icons/progress/ani/progress.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.forms/plugin.properties b/bundles/org.eclipse.ui.forms/plugin.properties
deleted file mode 100644
index 3bdea13..0000000
--- a/bundles/org.eclipse.ui.forms/plugin.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-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/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 86e797a..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/AbstractFormPart.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 org.eclipse.ui.forms.widgets.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 overall 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();
-	}
-}
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 0890fa7..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/DetailsPart.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Iterator;
-
-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 an object of type 'java.lang.Class' to be used 
- * as a key for the provided page
- * @param page the page to show for objects of the provided object class
- */
-	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.
- * @param 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 enm = pages.elements(); enm.hasMoreElements();) {
-			PageBag pageBag = (PageBag) enm.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.
- * @return <code>true</code> if the page is dirty, <code>false</code> otherwise.
- */
-	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.
- * @return <code>true</code> if the page is stale, <code>false</code> otherwise.
- */	
-	public boolean isStale() {
-		IDetailsPage page = getCurrentPage();
-		if (page != null)
-			return page.isStale();
-		return false;
-	}
-
-/**
- * Refreshes the current page.
- */
-	public void refresh() {
-		IDetailsPage page = getCurrentPage();
-		if (page != null)
-			page.refresh();
-	}
-/**
- * Sets the focus to the currently visible page.
- */
-	public void setFocus() {
-		IDetailsPage page = getCurrentPage();
-		if (page != null)
-			page.setFocus();
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IFormPart#setFormInput(java.lang.Object)
-	 */
-	public boolean setFormInput(Object input) {
-		return false;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IPartSelectionListener#selectionChanged(org.eclipse.ui.forms.IFormPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IFormPart part, ISelection selection) {
-		this.masterPart = part;
-		if (currentSelection != null) {
-		}
-		if (selection instanceof IStructuredSelection)
-			currentSelection = (IStructuredSelection) selection;
-		else
-			currentSelection = null;
-		update();
-	}
-	private void update() {
-		Object key = null;
-		if (currentSelection != null) {
-			for (Iterator iter = currentSelection.iterator(); iter.hasNext();) {
-				Object obj = iter.next();
-				if (key == null)
-					key = getKey(obj);
-				else if (getKey(obj).equals(key) == false) {
-					key = null;
-					break;
-				}
-			}
-		}
-		showPage(key);
-	}
-	private Object getKey(Object object) {
-		if (pageProvider!=null) {
-			Object key = pageProvider.getPageKey(object);
-			if (key!=null)
-				return key;
-		}
-		return object.getClass();
-	}
-	private void showPage(final Object key) {
-		checkLimit();
-		final IDetailsPage oldPage = getCurrentPage();
-		if (key != null) {
-			PageBag pageBag = (PageBag)pages.get(key);
-			IDetailsPage page = pageBag!=null?pageBag.getPage():null;
-			if (page==null) {
-				// try to get the page dynamically from the provider
-				if (pageProvider!=null) {
-					page = pageProvider.getPage(key);
-					if (page!=null) {
-						registerPage(key, page, false);
-					}
-				}
-			}
-			if (page != null) {
-				final IDetailsPage fpage = page;
-				BusyIndicator.showWhile(pageBook.getDisplay(), new Runnable() {
-					public void run() {
-						if (!pageBook.hasPage(key)) {
-							Composite parent = pageBook.createPage(key);
-							fpage.createContents(parent);
-							parent.setData(fpage);
-						}
-						//commit the current page
-						if (oldPage!=null && oldPage.isDirty())
-							oldPage.commit(false);
-						//refresh the new page
-						if (fpage.isStale())
-							fpage.refresh();
-						fpage.selectionChanged(masterPart, currentSelection);
-						pageBook.showPage(key);
-					}
-				});
-				return;
-			}
-		}
-		// If we are switching from an old page to nothing,
-		// don't loose data 
-		if (oldPage!=null && oldPage.isDirty())
-			oldPage.commit(false);
-		pageBook.showEmptyPage();
-	}
-	private void checkLimit() {
-		if (pages.size() <= getPageLimit()) return;
-		// overflow
-		int currentTicket = PageBag.getCurrentTicket();
-		int cutoffTicket = currentTicket - getPageLimit();
-		for (Enumeration enm=pages.keys(); enm.hasMoreElements();) {
-			Object key = enm.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();
-	}
-}
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 384415e..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/FormColors.java
+++ /dev/null
@@ -1,733 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-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.
-	 * 
-	 * @deprecated use <code>IFormColors.TITLE</code>.
-	 */
-	public static final String TITLE = IFormColors.TITLE;
-
-	/**
-	 * Key for the tree/table border color.
-	 * 
-	 * @deprecated use <code>IFormColors.BORDER</code>
-	 */
-	public static final String BORDER = IFormColors.BORDER;
-
-	/**
-	 * Key for the section separator color.
-	 * 
-	 * @deprecated use <code>IFormColors.SEPARATOR</code>.
-	 */
-	public static final String SEPARATOR = IFormColors.SEPARATOR;
-
-	/**
-	 * Key for the section title bar background.
-	 * 
-	 * @deprecated use <code>IFormColors.TB_BG
-	 */
-	public static final String TB_BG = IFormColors.TB_BG;
-
-	/**
-	 * Key for the section title bar foreground.
-	 * 
-	 * @deprecated use <code>IFormColors.TB_FG</code>
-	 */
-	public static final String TB_FG = IFormColors.TB_FG;
-
-	/**
-	 * Key for the section title bar gradient.
-	 * 
-	 * @deprecated use <code>IFormColors.TB_GBG</code>
-	 */
-	public static final String TB_GBG = IFormColors.TB_GBG;
-
-	/**
-	 * Key for the section title bar border.
-	 * 
-	 * @deprecated use <code>IFormColors.TB_BORDER</code>.
-	 */
-	public static final String TB_BORDER = IFormColors.TB_BORDER;
-
-	/**
-	 * Key for the section toggle color. Since 3.1, this color is used for all
-	 * section styles.
-	 * 
-	 * @deprecated use <code>IFormColors.TB_TOGGLE</code>.
-	 */
-	public static final String TB_TOGGLE = IFormColors.TB_TOGGLE;
-
-	/**
-	 * Key for the section toggle hover color.
-	 * 
-	 * @since 3.1
-	 * @deprecated use <code>IFormColors.TB_TOGGLE_HOVER</code>.
-	 */
-	public static final String TB_TOGGLE_HOVER = IFormColors.TB_TOGGLE_HOVER;
-
-	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, SEPARATOR and
-	 * TITLE. Subclasses can override to allocate these colors differently.
-	 */
-	protected void initializeColorTable() {
-		createTitleColor();
-		createColor(IFormColors.SEPARATOR, getColor(IFormColors.TITLE).getRGB());
-		RGB black = getSystemColor(SWT.COLOR_BLACK);
-		RGB borderRGB = getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT);
-		createColor(IFormColors.BORDER, blend(borderRGB, 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 (colorRegistry.containsKey(IFormColors.TB_BG))
-			return;
-		createTitleBarGradientColors();
-		createTitleBarOutlineColors();
-		createTwistieColors();
-	}
-
-	/**
-	 * Allocates additional colors for the form header, namely background
-	 * gradients, bottom separator keylines and DND highlights. Since these
-	 * colors are only needed for clients that want to use these particular
-	 * style of header rendering, 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
-	 * color keys with the H_ prefix to ensure they are available.
-	 * 
-	 * @since 3.3
-	 */
-	protected void initializeFormHeaderColors() {
-		if (colorRegistry.containsKey(IFormColors.H_BOTTOM_KEYLINE2))
-			return;
-		createFormHeaderColors();
-	}
-
-	/**
-	 * Returns the RGB value of the system color represented by the code
-	 * argument, as defined in <code>SWT</code> class.
-	 * 
-	 * @param code
-	 *            the system color constant as defined in <code>SWT</code>
-	 *            class.
-	 * @return the RGB value of the system color
-	 */
-	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 a color that can be used for areas of the form that is inactive.
-	 * These areas can contain images, links, controls and other content but are
-	 * considered auxilliary to the main content area.
-	 * 
-	 * <p>
-	 * The color should not be disposed because it is managed by this class.
-	 * 
-	 * @return the inactive form color
-	 * @since 3.1
-	 */
-	public Color getInactiveBackground() {
-		String key = "__ncbg__"; //$NON-NLS-1$
-		Color color = getColor(key);
-		if (color == null) {
-			RGB sel = getSystemColor(SWT.COLOR_LIST_SELECTION);
-			// a blend of 95% white and 5% list selection system color
-			RGB ncbg = blend(sel, getSystemColor(SWT.COLOR_WHITE), 5);
-			color = createColor(key, ncbg);
-		}
-		return color;
-	}
-
-	/**
-	 * Creates the color for the specified key using the provided RGB values.
-	 * The color object will be returned and also put into the registry. If
-	 * there is already another color object under the same key in the registry,
-	 * the existing object will be disposed. 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);
-		Color prevC = (Color) colorRegistry.get(key);
-		if (prevC != null)
-			prevC.dispose();
-		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(IFormColors.BORDER);
-		else {
-			border = display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-			Color bg = getImpliedBackground();
-			if (border.getRed() == bg.getRed()
-					&& border.getGreen() == bg.getGreen()
-					&& border.getBlue() == bg.getBlue())
-				border = display.getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW);
-		}
-	}
-
-	/**
-	 * Sets the background color. All the toolkits that use this class will
-	 * share the same background.
-	 * 
-	 * @param bg
-	 *            background color
-	 */
-	public void setBackground(Color bg) {
-		this.background = bg;
-		updateBorderColor();
-		updateFormHeaderColors();
-	}
-
-	/**
-	 * 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() {
-		Color bg = getImpliedBackground();
-		return bg.getRed() == 255 && bg.getGreen() == 255
-				&& bg.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) {
-		if (key.startsWith(IFormColors.TB_PREFIX))
-			initializeSectionToolBarColors();
-		else if (key.startsWith(IFormColors.H_PREFIX))
-			initializeFormHeaderColors();
-		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 in the provided ratio.
-	 * 
-	 * @param c1
-	 *            first color
-	 * @param c2
-	 *            second color
-	 * @param ratio
-	 *            percentage of the first color in the blend (0-100)
-	 * @return the RGB value of the blended color
-	 * @since 3.1
-	 */
-	public static 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);
-	}
-
-	/**
-	 * Tests the source RGB for range.
-	 * 
-	 * @param rgb
-	 *            the tested RGB
-	 * @param from
-	 *            range start (excluding the value itself)
-	 * @param to
-	 *            range end (excluding the value itself)
-	 * @return <code>true</code> if at least one of the primary colors in the
-	 *         source RGB are within the provided range, <code>false</code>
-	 *         otherwise.
-	 * @since 3.1
-	 */
-	public static boolean testAnyPrimaryColor(RGB rgb, int from, int to) {
-		if (testPrimaryColor(rgb.red, from, to))
-			return true;
-		if (testPrimaryColor(rgb.green, from, to))
-			return true;
-		if (testPrimaryColor(rgb.blue, from, to))
-			return true;
-		return false;
-	}
-
-	/**
-	 * Tests the source RGB for range.
-	 * 
-	 * @param rgb
-	 *            the tested RGB
-	 * @param from
-	 *            range start (excluding the value itself)
-	 * @param to
-	 *            tange end (excluding the value itself)
-	 * @return <code>true</code> if at least two of the primary colors in the
-	 *         source RGB are within the provided range, <code>false</code>
-	 *         otherwise.
-	 * @since 3.1
-	 */
-	public static boolean testTwoPrimaryColors(RGB rgb, int from, int to) {
-		int total = 0;
-		if (testPrimaryColor(rgb.red, from, to))
-			total++;
-		if (testPrimaryColor(rgb.green, from, to))
-			total++;
-		if (testPrimaryColor(rgb.blue, from, to))
-			total++;
-		return total >= 2;
-	}
-
-	/**
-	 * 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 static int blend(int v1, int v2, int ratio) {
-		int b = (ratio * v1 + (100 - ratio) * v2) / 100;
-		return Math.min(255, b);
-	}
-
-	private Color getImpliedBackground() {
-		if (getBackground() != null)
-			return getBackground();
-		return getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-	}
-
-	private static boolean testPrimaryColor(int value, int from, int to) {
-		return value > from && value < to;
-	}
-
-	private void createTitleColor() {
-		/*
-		 * RGB rgb = getSystemColor(SWT.COLOR_LIST_SELECTION); // test too light
-		 * if (testTwoPrimaryColors(rgb, 120, 151)) rgb = blend(rgb, BLACK, 80);
-		 * else if (testTwoPrimaryColors(rgb, 150, 256)) rgb = blend(rgb, BLACK,
-		 * 50); createColor(TITLE, rgb);
-		 */
-		RGB bg = getImpliedBackground().getRGB();
-		RGB listSelection = getSystemColor(SWT.COLOR_LIST_SELECTION);
-		RGB listForeground = getSystemColor(SWT.COLOR_LIST_FOREGROUND);
-		RGB rgb = listSelection;
-
-		// Group 1
-		// Rule: If at least 2 of the LIST_SELECTION RGB values are equal to or
-		// between 0 and 120, then use 100% LIST_SELECTION as it is (no
-		// additions)
-		// Examples: XP Default, Win Classic Standard, Win High Con White, Win
-		// Classic Marine
-		if (testTwoPrimaryColors(listSelection, -1, 121))
-			rgb = listSelection;
-		// Group 2
-		// When LIST_BACKGROUND = white (255, 255, 255) or not black, text
-		// colour = LIST_SELECTION @ 100% Opacity + 50% LIST_FOREGROUND over
-		// LIST_BACKGROUND
-		// Rule: If at least 2 of the LIST_SELECTION RGB values are equal to or
-		// between 121 and 255, then add 50% LIST_FOREGROUND to LIST_SELECTION
-		// foreground colour
-		// Examples: Win Vista, XP Silver, XP Olive , Win Classic Plum, OSX
-		// Aqua, OSX Graphite, Linux GTK
-		else if (testTwoPrimaryColors(listSelection, 120, 256)
-				|| (bg.red == 0 && bg.green == 0 && bg.blue == 0))
-			rgb = blend(listSelection, listForeground, 50);
-		// Group 3
-		// When LIST_BACKGROUND = black (0, 0, 0), text colour = LIST_SELECTION
-		// @ 100% Opacity + 50% LIST_FOREGROUND over LIST_BACKGROUND
-		// Rule: If LIST_BACKGROUND = 0, 0, 0, then add 50% LIST_FOREGROUND to
-		// LIST_SELECTION foreground colour
-		// Examples: Win High Con Black, Win High Con #1, Win High Con #2
-		// (covered in the second part of the OR clause above)
-		createColor(IFormColors.TITLE, rgb);
-	}
-
-	private void createTwistieColors() {
-		RGB rgb = getColor(IFormColors.TITLE).getRGB();
-		RGB white = getSystemColor(SWT.COLOR_WHITE);
-		createColor(TB_TOGGLE, rgb);
-		rgb = blend(rgb, white, 60);
-		createColor(TB_TOGGLE_HOVER, rgb);
-	}
-
-	private void createTitleBarGradientColors() {
-		RGB tbBg = getSystemColor(SWT.COLOR_TITLE_BACKGROUND);
-		RGB bg = getImpliedBackground().getRGB();
-
-		// Group 1
-		// Rule: If at least 2 of the RGB values are equal to or between 180 and
-		// 255, then apply specified opacity for Group 1
-		// Examples: Vista, XP Silver, Wn High Con #2
-		// Gradient Bottom = TITLE_BACKGROUND @ 30% Opacity over LIST_BACKGROUND
-		// Gradient Top = TITLE BACKGROUND @ 0% Opacity over LIST_BACKGROUND
-		if (testTwoPrimaryColors(tbBg, 179, 256))
-			tbBg = blend(tbBg, bg, 30);
-
-		// Group 2
-		// Rule: If at least 2 of the RGB values are equal to or between 121 and
-		// 179, then apply specified opacity for Group 2
-		// Examples: XP Olive, OSX Graphite, Linux GTK, Wn High Con Black
-		// Gradient Bottom = TITLE_BACKGROUND @ 20% Opacity over LIST_BACKGROUND
-		// Gradient Top = TITLE BACKGROUND @ 0% Opacity over LIST_BACKGROUND
-		else if (testTwoPrimaryColors(tbBg, 120, 180))
-			tbBg = blend(tbBg, bg, 20);
-
-		// Group 3
-		// Rule: Everything else
-		// Examples: XP Default, Wn Classic Standard, Wn Marine, Wn Plum, OSX
-		// Aqua, Wn High Con White, Wn High Con #1
-		// Gradient Bottom = TITLE_BACKGROUND @ 10% Opacity over LIST_BACKGROUND
-		// Gradient Top = TITLE BACKGROUND @ 0% Opacity over LIST_BACKGROUND
-		else {
-			tbBg = blend(tbBg, bg, 10);
-		}
-
-		createColor(IFormColors.TB_BG, tbBg);
-		
-		// for backward compatibility
-		createColor(TB_GBG, tbBg);
-	}
-
-	private void createTitleBarOutlineColors() {
-		// title bar outline - border color
-		RGB tbBorder = getSystemColor(SWT.COLOR_TITLE_BACKGROUND);
-		RGB bg = getImpliedBackground().getRGB();
-		// Group 1
-		// Rule: If at least 2 of the RGB values are equal to or between 180 and
-		// 255, then apply specified opacity for Group 1
-		// Examples: Vista, XP Silver, Wn High Con #2
-		// Keyline = TITLE_BACKGROUND @ 70% Opacity over LIST_BACKGROUND
-		if (testTwoPrimaryColors(tbBorder, 179, 256))
-			tbBorder = blend(tbBorder, bg, 70);
-
-		// Group 2
-		// Rule: If at least 2 of the RGB values are equal to or between 121 and
-		// 179, then apply specified opacity for Group 2
-		// Examples: XP Olive, OSX Graphite, Linux GTK, Wn High Con Black
-
-		// Keyline = TITLE_BACKGROUND @ 50% Opacity over LIST_BACKGROUND
-		else if (testTwoPrimaryColors(tbBorder, 120, 180))
-			tbBorder = blend(tbBorder, bg, 50);
-
-		// Group 3
-		// Rule: Everything else
-		// Examples: XP Default, Wn Classic Standard, Wn Marine, Wn Plum, OSX
-		// Aqua, Wn High Con White, Wn High Con #1
-
-		// Keyline = TITLE_BACKGROUND @ 30% Opacity over LIST_BACKGROUND
-		else {
-			tbBorder = blend(tbBorder, bg, 30);
-		}
-		createColor(FormColors.TB_BORDER, tbBorder);
-	}
-
-	private void updateFormHeaderColors() {
-		if (colorRegistry.containsKey(IFormColors.H_GRADIENT_END)) {
-			disposeIfFound(IFormColors.H_GRADIENT_END);
-			disposeIfFound(IFormColors.H_GRADIENT_START);
-			disposeIfFound(IFormColors.H_BOTTOM_KEYLINE1);
-			disposeIfFound(IFormColors.H_BOTTOM_KEYLINE2);
-			disposeIfFound(IFormColors.H_HOVER_LIGHT);
-			disposeIfFound(IFormColors.H_HOVER_FULL);
-			initializeFormHeaderColors();
-		}
-	}
-
-	private void disposeIfFound(String key) {
-		Color color = getColor(key);
-		if (color != null) {
-			colorRegistry.remove(key);
-			color.dispose();
-		}
-	}
-
-	private void createFormHeaderColors() {
-		createFormHeaderGradientColors();
-		createFormHeaderKeylineColors();
-		createFormHeaderDNDColors();
-	}
-
-	private void createFormHeaderGradientColors() {
-		RGB titleBg = getSystemColor(SWT.COLOR_TITLE_BACKGROUND);
-		Color bgColor = getImpliedBackground();
-		RGB bg = bgColor.getRGB();
-		RGB bottom, top;
-		// Group 1
-		// Rule: If at least 2 of the RGB values are equal to or between 180 and
-		// 255, then apply specified opacity for Group 1
-		// Examples: Vista, XP Silver, Wn High Con #2
-		// Gradient Bottom = TITLE_BACKGROUND @ 30% Opacity over LIST_BACKGROUND
-		// Gradient Top = TITLE BACKGROUND @ 0% Opacity over LIST_BACKGROUND
-		if (testTwoPrimaryColors(titleBg, 179, 256)) {
-			bottom = blend(titleBg, bg, 30);
-			top = bg;
-		}
-
-		// Group 2
-		// Rule: If at least 2 of the RGB values are equal to or between 121 and
-		// 179, then apply specified opacity for Group 2
-		// Examples: XP Olive, OSX Graphite, Linux GTK, Wn High Con Black
-		// Gradient Bottom = TITLE_BACKGROUND @ 20% Opacity over LIST_BACKGROUND
-		// Gradient Top = TITLE BACKGROUND @ 0% Opacity over LIST_BACKGROUND
-		else if (testTwoPrimaryColors(titleBg, 120, 180)) {
-			bottom = blend(titleBg, bg, 20);
-			top = bg;
-		}
-
-		// Group 3
-		// Rule: If at least 2 of the RGB values are equal to or between 0 and
-		// 120, then apply specified opacity for Group 3
-		// Examples: XP Default, Wn Classic Standard, Wn Marine, Wn Plum, OSX
-		// Aqua, Wn High Con White, Wn High Con #1
-		// Gradient Bottom = TITLE_BACKGROUND @ 10% Opacity over LIST_BACKGROUND
-		// Gradient Top = TITLE BACKGROUND @ 0% Opacity over LIST_BACKGROUND
-		else {
-			bottom = blend(titleBg, bg, 10);
-			top = bg;
-		}
-		createColor(IFormColors.H_GRADIENT_END, top);
-		createColor(IFormColors.H_GRADIENT_START, bottom);
-	}
-
-	private void createFormHeaderKeylineColors() {
-		RGB titleBg = getSystemColor(SWT.COLOR_TITLE_BACKGROUND);
-		Color bgColor = getImpliedBackground();
-		RGB bg = bgColor.getRGB();
-		RGB keyline2;
-		// H_BOTTOM_KEYLINE1
-		createColor(IFormColors.H_BOTTOM_KEYLINE1, new RGB(255, 255, 255));
-
-		// H_BOTTOM_KEYLINE2
-		// Group 1
-		// Rule: If at least 2 of the RGB values are equal to or between 180 and
-		// 255, then apply specified opacity for Group 1
-		// Examples: Vista, XP Silver, Wn High Con #2
-		// Keyline = TITLE_BACKGROUND @ 70% Opacity over LIST_BACKGROUND
-		if (testTwoPrimaryColors(titleBg, 179, 256))
-			keyline2 = blend(titleBg, bg, 70);
-
-		// Group 2
-		// Rule: If at least 2 of the RGB values are equal to or between 121 and
-		// 179, then apply specified opacity for Group 2
-		// Examples: XP Olive, OSX Graphite, Linux GTK, Wn High Con Black
-		// Keyline = TITLE_BACKGROUND @ 50% Opacity over LIST_BACKGROUND
-		else if (testTwoPrimaryColors(titleBg, 120, 180))
-			keyline2 = blend(titleBg, bg, 50);
-
-		// Group 3
-		// Rule: If at least 2 of the RGB values are equal to or between 0 and
-		// 120, then apply specified opacity for Group 3
-		// Examples: XP Default, Wn Classic Standard, Wn Marine, Wn Plum, OSX
-		// Aqua, Wn High Con White, Wn High Con #1
-
-		// Keyline = TITLE_BACKGROUND @ 30% Opacity over LIST_BACKGROUND
-		else
-			keyline2 = blend(titleBg, bg, 30);
-		// H_BOTTOM_KEYLINE2
-		createColor(IFormColors.H_BOTTOM_KEYLINE2, keyline2);
-	}
-
-	private void createFormHeaderDNDColors() {
-		RGB titleBg = getSystemColor(SWT.COLOR_TITLE_BACKGROUND_GRADIENT);
-		Color bgColor = getImpliedBackground();
-		RGB bg = bgColor.getRGB();
-		RGB light, full;
-		// ALL Themes
-		//
-		// Light Highlight
-		// When *near* the 'hot' area
-		// Rule: If near the title in the 'hot' area, show background highlight
-		// TITLE_BACKGROUND_GRADIENT @ 40%
-		light = blend(titleBg, bg, 40);
-		// Full Highlight
-		// When *on* the title area (regions 1 and 2)
-		// Rule: If near the title in the 'hot' area, show background highlight
-		// TITLE_BACKGROUND_GRADIENT @ 60%
-		full = blend(titleBg, bg, 60);
-		// H_DND_LIGHT
-		// H_DND_FULL
-		createColor(IFormColors.H_HOVER_LIGHT, light);
-		createColor(IFormColors.H_HOVER_FULL, full);
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/FormDialog.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/FormDialog.java
deleted file mode 100644
index f96e914..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/FormDialog.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-
-import org.eclipse.jface.dialogs.TrayDialog;
-import org.eclipse.jface.window.IShellProvider;
-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.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.internal.forms.Messages;
-
-/**
- * A general-purpose dialog that hosts a form. Clients should extend the class
- * and override <code>createFormContent(IManagedForm)</code> protected method.
- * <p>
- * Since forms with wrapped text typically don't have a preferred size, it is
- * important to set the initial dialog size upon creation:
- * <p>
- * 
- * <pre>
- * MyFormDialog dialog = new MyFormDialog(shell);
- * dialog.create();
- * dialog.getShell().setSize(500, 500);
- * dialog.open();
- * </pre>
- * 
- * <p>
- * Otherwise, the dialog may open very wide.
- * <p>
- * 
- * @since 3.3
- */
-
-public class FormDialog extends TrayDialog {
-	private FormToolkit toolkit;
-
-	/**
-	 * Creates a new form dialog for a provided parent shell.
-	 * 
-	 * @param shell
-	 *            the parent shell
-	 */
-	public FormDialog(Shell shell) {
-		super(shell);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-
-	/**
-	 * Creates a new form dialog for a provided parent shell provider.
-	 * 
-	 * @param parentShellProvider
-	 *            the parent shell provider
-	 */
-	public FormDialog(IShellProvider parentShellProvider) {
-		super(parentShellProvider);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.TrayDialog#close()
-	 */
-	public boolean close() {
-		boolean rcode = super.close();
-		toolkit.dispose();
-		return rcode;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		toolkit = new FormToolkit(parent.getDisplay());
-		ScrolledForm sform = toolkit.createScrolledForm(parent);
-		sform.setLayoutData(new GridData(GridData.FILL_BOTH));
-		ManagedForm mform = new ManagedForm(toolkit, sform);
-		createFormContent(mform);
-		applyDialogFont(sform.getBody());
-		return sform;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.TrayDialog#createButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createButtonBar(Composite parent) {
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		//Composite sep = new Composite(parent, SWT.NULL);
-		//sep.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW));
-		//gd.heightHint = 1;
-		Label sep = new Label(parent, SWT.HORIZONTAL|SWT.SEPARATOR);
-		sep.setLayoutData(gd);
-		Control bar = super.createButtonBar(parent);
-		return bar;
-	}
-
-	/**
-	 * Configures the dialog form and creates form content. Clients should
-	 * override this method.
-	 * 
-	 * @param mform
-	 *            the dialog form
-	 */
-	protected void createFormContent(IManagedForm mform) {
-		mform.getForm().setText(Messages.FormDialog_defaultTitle);
-	}
-}
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 3b3b757..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/HyperlinkGroup.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-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 boolean isActiveBackgroundSet;
-	private boolean isActiveForegroundSet;
-	private boolean isBackgroundSet;
-	private boolean isForegroundSet;
-
-	private class GroupListener implements Listener, IHyperlinkListener {
-		
-		private Color previousBackground;
-		private Color previousForeground;
-		
-		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;
-			previousBackground = link.getBackground();
-			previousForeground = link.getForeground();
-			if (isActiveBackgroundSet)
-				link.setBackground(getActiveBackground());
-			if (isActiveForegroundSet)
-				link.setForeground(getActiveForeground());
-			if (getHyperlinkUnderlineMode() == UNDERLINE_HOVER)
-				link.setUnderlined(true);
-			link.setCursor(getHyperlinkCursor());			
-		}
-		private void onMouseExit(Event e) {
-			Hyperlink link = (Hyperlink) e.widget;
-			if (isActiveBackgroundSet)
-				link.setBackground(previousBackground);
-			if (isActiveForegroundSet)
-				link.setForeground(previousForeground);
-			if (getHyperlinkUnderlineMode() == UNDERLINE_HOVER)
-				link.setUnderlined(false);
-		}
-		public void linkActivated(HyperlinkEvent e) {
-		}
-
-		public void linkEntered(HyperlinkEvent e) {
-			Hyperlink link = (Hyperlink) e.widget;
-			if (lastEntered != null) {
-				linkExited(lastEntered);
-			}
-			lastEntered = link;
-		}
-
-		public void linkExited(HyperlinkEvent e) {
-			linkExited((Hyperlink) e.widget);
-		}
-		private void linkExited(Hyperlink link) {
-			link.setCursor(null);
-			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 (isBackgroundSet)
-			link.setBackground(getBackground());
-		if (isForegroundSet)
-			link.setForeground(getForeground());
-		if (getHyperlinkUnderlineMode() == UNDERLINE_ALWAYS)
-			link.setUnderlined(true);
-		hook(link);
-	}
-	
-	/**
-	 * Sets the new active hyperlink background for all the links.
-	 * 
-	 * @param newActiveBackground
-	 *            the new active background
-	 */
-	public void setActiveBackground(Color newActiveBackground) {
-		super.setActiveBackground(newActiveBackground);
-		isActiveBackgroundSet = true;
-	}
-	
-	/**
-	 * Sets the new active hyperlink foreground for all the links.
-	 * 
-	 * @param newActiveForeground
-	 *            the new active foreground
-	 */
-	public void setActiveForeground(Color newActiveForeground) {
-		super.setActiveForeground(newActiveForeground);
-		isActiveForegroundSet = true;
-	}
-	
-	/**
-	 * 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);
-		isBackgroundSet = true;
-		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);
-		isForegroundSet = true;
-		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;
-	}
-}
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 b5b3260..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/HyperlinkSettings.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.swt.SWT;
-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) {
-		Color fg = JFaceColors.getHyperlinkText(display);
-		Color afg = JFaceColors.getActiveHyperlinkText(display);
-		if (fg==null)
-			fg = display.getSystemColor(SWT.COLOR_BLUE);
-		setForeground(fg);
-		setActiveForeground(afg);
-	}
-	/**
-	 * 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;
-	}
-}
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 067f9cc..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IDetailsPage.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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);
-}
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 64cae36..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IDetailsPageProvider.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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);
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IFormColors.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IFormColors.java
deleted file mode 100644
index 29bf4d3..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IFormColors.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-
-/**
- * A place to hold all the color constants used in the forms package.
- * 
- * @since 3.3
- */
-
-public interface IFormColors {
-	/**
-	 * A prefix for all the keys.
-	 */
-	String PREFIX = "org.eclipse.ui.forms."; //$NON-NLS-1$
-	/**
-	 * Key for the form title foreground color.
-	 */
-	String TITLE = PREFIX + "TITLE"; //$NON-NLS-1$
-
-	/**
-	 * A prefix for the header color constants.
-	 */
-	String H_PREFIX = PREFIX + "H_"; //$NON-NLS-1$
-	/*
-	 * A prefix for the section title bar color constants.
-	 */
-	String TB_PREFIX = PREFIX + "TB_"; //$NON-NLS-1$	
-	/**
-	 * Key for the form header background gradient ending color.
-	 */
-	String H_GRADIENT_END = H_PREFIX + "GRADIENT_END"; //$NON-NLS-1$
-
-	/**
-	 * Key for the form header background gradient starting color.
-	 * 
-	 */
-	String H_GRADIENT_START = H_PREFIX + "GRADIENT_START"; //$NON-NLS-1$
-	/**
-	 * Key for the form header bottom keyline 1 color.
-	 * 
-	 */
-	String H_BOTTOM_KEYLINE1 = H_PREFIX + "BOTTOM_KEYLINE1"; //$NON-NLS-1$
-	/**
-	 * Key for the form header bottom keyline 2 color.
-	 * 
-	 */
-	String H_BOTTOM_KEYLINE2 = H_PREFIX + "BOTTOM_KEYLINE2"; //$NON-NLS-1$
-	/**
-	 * Key for the form header light hover color.
-	 * 
-	 */
-	String H_HOVER_LIGHT = H_PREFIX + "H_HOVER_LIGHT"; //$NON-NLS-1$
-	/**
-	 * Key for the form header full hover color.
-	 * 
-	 */
-	String H_HOVER_FULL = H_PREFIX + "H_HOVER_FULL"; //$NON-NLS-1$
-
-	/**
-	 * Key for the tree/table border color.
-	 */
-	String BORDER = PREFIX + "BORDER"; //$NON-NLS-1$
-
-	/**
-	 * Key for the section separator color.
-	 */
-	String SEPARATOR = PREFIX + "SEPARATOR"; //$NON-NLS-1$
-
-	/**
-	 * Key for the section title bar background.
-	 */
-	String TB_BG = TB_PREFIX + "BG"; //$NON-NLS-1$
-
-	/**
-	 * Key for the section title bar foreground.
-	 */
-	String TB_FG = TB_PREFIX + "FG"; //$NON-NLS-1$
-
-	/**
-	 * Key for the section title bar gradient.
-	 * @deprecated Since 3.3, this color is not used any more. The 
-	 * tool bar gradient is created starting from {@link #TB_BG} to
-	 * the section background color.
-	 */
-	String TB_GBG = TB_BG;
-
-	/**
-	 * Key for the section title bar border.
-	 */
-	String TB_BORDER = TB_PREFIX + "BORDER"; //$NON-NLS-1$
-
-	/**
-	 * Key for the section toggle color. Since 3.1, this color is used for all
-	 * section styles.
-	 */
-	String TB_TOGGLE = TB_PREFIX + "TOGGLE"; //$NON-NLS-1$
-
-	/**
-	 * Key for the section toggle hover color.
-	 * 
-	 */
-	String TB_TOGGLE_HOVER = TB_PREFIX + "TOGGLE_HOVER"; //$NON-NLS-1$		
-}
\ 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 fa23b3b..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IFormPart.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 initialized with the form and
- * will 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
- * for notifying 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 the 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 the 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 true if the part has been modified with respect to the data
-	 *         loaded from the model
-	 */
-	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();
-}
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 98cdec2..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IManagedForm.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-
-/**
- * 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>
- * This interface should not be extended or implemented. New form instances
- * should be created using ManagedForm.
- * 
- * @see ManagedForm
- * @since 3.0
- */
-public interface IManagedForm {
-	/**
-	 * Initializes the form by looping through the managed parts and
-	 * initializing them. Has no effect if already called once.
-	 * 
-	 * @since 3.1
-	 */
-	public void initialize();
-
-	/**
-	 * 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();
-
-	/**
-	 * Returns the message manager that will keep track of messages in this
-	 * form.
-	 * 
-	 * @return the message manager instance
-	 * @since 3.3
-	 */
-	IMessageManager getMessageManager();
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IMessage.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IMessage.java
deleted file mode 100644
index 0d165d6..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IMessage.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.forms;
-
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * This interface encapsulates a single message that can be shown in a form.
- * Messages can be associated with controls, or be of a general nature.
- * 
- * @see IMessageManager
- * @since 3.3
- */
-public interface IMessage extends IMessageProvider {
-	/**
-	 * Returns the unique message key
-	 * 
-	 * @return the unique message key
-	 */
-	Object getKey();
-
-	/**
-	 * Returns data for application use
-	 * 
-	 * @return data object
-	 */
-	Object getData();
-
-	/**
-	 * Returns the control this message is associated with.
-	 * 
-	 * @return the control or <code>null</code> if this is a general message.
-	 */
-	Control getControl();
-
-	/**
-	 * Messages that are associated with controls can be shown with a prefix
-	 * that indicates the origin of the message (e.g. the label preceeding the
-	 * control).
-	 * 
-	 * @return the message prefix or <code>null</code> if this is a general
-	 *         message
-	 */
-	String getPrefix();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IMessageManager.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IMessageManager.java
deleted file mode 100644
index dde93d4..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IMessageManager.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.ui.forms;
-
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.fieldassist.ControlDecoration;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.forms.widgets.Form;
-
-/**
- * This interface provides for managing typed messages in a form. Typed messages
- * are messages associated with a type that indicates their severity (error,
- * warning, information). The interface is responsible for:
- * <ul>
- * <li>Bridging the concept of typed messages and control decorations</li>
- * <li>Adding one or more messages per control in a form</li>
- * <li>Rolling the local messages up to the form header</li>
- * <li>Adding one or more general messages to the form header</li>
- * </ul>
- * <p>
- * To use it in a form, do the following:
- * <ol>
- * <li>For each interactive control, add a listener to it to monitor user input</li>
- * <li>Every time the input changes, validate it. If there is a problem, add a
- * message with a unique key to the manager. If there is already a message with
- * the same key in the manager, its type and message text will be replaced (no
- * duplicates). Note that you add can messages with different keys to the same
- * control to track multiple problems with the user input.</li>
- * <li>If the problem has been cleared, remove the message using the key
- * (attempting to remove a message that is not in the manager is safe).</li>
- * <li>If something happens in the form that is not related to any control, use
- * the other <code>addMessage</code> method.</li>
- * </ol>
- * <p>
- * This interface should only be referenced. It must not be implemented or
- * extended.
- * </p>
- * 
- * @since 3.3
- * @see IMessageProvider
- * @see IManagedForm
- */
-
-public interface IMessageManager {
-	/**
-	 * Adds a general message that is not associated with any decorated field.
-	 * Note that subsequent calls using the same key will not result in
-	 * duplicate messages. Instead, the previous message with the same key will
-	 * be replaced with the new message.
-	 * 
-	 * @param key
-	 *            a unique message key that will be used to look the message up
-	 *            later
-	 * 
-	 * @param messageText
-	 *            the message to add
-	 * @param data
-	 *            an object for application use (can be <code>null</code>)
-	 * @param type
-	 *            the message type as defined in <code>IMessageProvider</code>.
-	 */
-	void addMessage(Object key, String messageText, Object data, int type);
-
-	/**
-	 * Adds a message that should be associated with the provided control. Note
-	 * that subsequent calls using the same key will not result in duplicate
-	 * messages. Instead, the previous message with the same key will be
-	 * replaced with the new message.
-	 * 
-	 * @param key
-	 *            the unique message key
-	 * @param messageText
-	 *            the message to add
-	 * @param data
-	 *            an object for application use (can be <code>null</code>)
-	 * @param type
-	 *            the message type
-	 * @param control
-	 *            the control to associate the message with
-	 */
-	void addMessage(Object key, String messageText, Object data, int type,
-			Control control);
-
-	/**
-	 * Removes the general message with the provided key. Does nothing if
-	 * message for the key does not exist.
-	 * 
-	 * @param key
-	 *            the key of the message to remove
-	 */
-	void removeMessage(Object key);
-
-	/**
-	 * Removes all the general messages. If there are local messages associated
-	 * with controls, the replacement message may show up drawing user's
-	 * attention to these local messages. Otherwise, the container will clear
-	 * the message area.
-	 */
-	void removeMessages();
-
-	/**
-	 * Removes a keyed message associated with the provided control. Does
-	 * nothing if the message for that key does not exist.
-	 * 
-	 * @param key
-	 *            the id of the message to remove
-	 * @param control
-	 *            the control the message is associated with
-	 */
-	void removeMessage(Object key, Control control);
-
-	/**
-	 * Removes all the messages associated with the provided control. Does
-	 * nothing if there are no messages for this control.
-	 * 
-	 * @param control
-	 *            the control the messages are associated with
-	 */
-	void removeMessages(Control control);
-
-	/**
-	 * Removes all the local field messages and all the general container
-	 * messages.
-	 */
-	void removeAllMessages();
-
-	/**
-	 * Updates the message container with the messages currently in the manager.
-	 * There are two scenarios in which a client may want to use this method:
-	 * <ol>
-	 * <li>When controls previously managed by this manager have been disposed.</li>
-	 * <li>When automatic update has been turned off.</li>
-	 * </ol>
-	 * In all other situations, the manager will keep the form in sync
-	 * automatically.
-	 * 
-	 * @see #setAutoUpdate(boolean)
-	 */
-	void update();
-
-	/**
-	 * Controls whether the form is automatically updated when messages are
-	 * added or removed. By default, auto update is on. Clients can turn it off
-	 * prior to adding or removing a number of messages as a batch. Turning it
-	 * back on will trigger an update.
-	 * 
-	 * @param enabled
-	 *            sets the state of the automatic update
-	 */
-	void setAutoUpdate(boolean enabled);
-
-	/**
-	 * Tests whether the form will be automatically updated when messages are
-	 * added or removed.
-	 * 
-	 * @return <code>true</code> if auto update is active, <code>false</code>
-	 *         otherwise.
-	 */
-	boolean isAutoUpdate();
-
-	/**
-	 * Sets the alternative message prefix provider. The default prefix provider
-	 * is set by the manager.
-	 * 
-	 * @param provider
-	 *            the new prefix provider or <code>null</code> to turn the
-	 *            prefix generation off.
-	 */
-	void setMessagePrefixProvider(IMessagePrefixProvider provider);
-
-	/**
-	 * @return the current prefix provider or <code>null</code> if prefixes
-	 *         are not generated.
-	 */
-	IMessagePrefixProvider getMessagePrefixProvider();
-
-	/**
-	 * Message manager uses SWT.LEFT|SWT.BOTTOM for the default decoration
-	 * position. Use this method to change it.
-	 * 
-	 * @param position
-	 *            the decoration position
-	 * @see ControlDecoration
-	 */
-	void setDecorationPosition(int position);
-
-	/**
-	 * Returns the currently used decoration position for all control messages.
-	 * 
-	 * @return the current decoration position
-	 */
-
-	int getDecorationPosition();
-
-	/**
-	 * When message manager is used in context of a form, and there are
-	 * hyperlink listeners for messages in the header, the hyperlink event will
-	 * carry an object of type <code>IMessage[]</code> as an href. You can use
-	 * this method to create a summary text from this array consistent with the
-	 * tool tip used by the form header.
-	 * 
-	 * @param messages
-	 *            an array of messages
-	 * @return a textual representation of the messages with one message per
-	 *         line.
-	 * @see Form#addMessageHyperlinkListener(org.eclipse.ui.forms.events.IHyperlinkListener)
-	 */
-	String createSummary(IMessage[] messages);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IMessagePrefixProvider.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IMessagePrefixProvider.java
deleted file mode 100644
index 5404f6a..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IMessagePrefixProvider.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.forms;
-
-import org.eclipse.swt.widgets.Control;
-
-/**
- * This interface computes the prefix of a message that is created in the
- * context of a control. Since messages are rolled up to the header in the
- * message manager, it is important to create a prefix to indicate the context
- * of a message in the form. Typically the prefix is computed by looking at the
- * label that preceeds the control, if present. Alternative providers may
- * include other text to further specify the location of the message.
- * 
- * @see IMessageManager
- * @see IMessage
- * @since 3.3
- */
-public interface IMessagePrefixProvider {
-	/**
-	 * Returns the computed prefix for the provided control.
-	 * 
-	 * @param control
-	 *            the control to provide the prefix for
-	 * @return the computed prefix
-	 */
-	String getPrefix(Control control);
-}
\ 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 a4ce605..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/IPartSelectionListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 3d3376b..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/ManagedForm.java
+++ /dev/null
@@ -1,335 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.*;
-import org.eclipse.ui.internal.forms.MessageManager;
-
-/**
- * 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 boolean initialized;
-
-	private MessageManager messageManager;
-
-	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;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IManagedForm#addPart(org.eclipse.ui.forms.IFormPart)
-	 */
-	public void addPart(IFormPart part) {
-		parts.add(part);
-		part.initialize(this);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IManagedForm#removePart(org.eclipse.ui.forms.IFormPart)
-	 */
-	public void removePart(IFormPart part) {
-		parts.remove(part);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IManagedForm#getParts()
-	 */
-	public IFormPart[] getParts() {
-		return (IFormPart[]) parts.toArray(new IFormPart[parts.size()]);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IManagedForm#getToolkit()
-	 */
-	public FormToolkit getToolkit() {
-		return toolkit;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IManagedForm#getForm()
-	 */
-	public ScrolledForm getForm() {
-		return form;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IManagedForm#reflow(boolean)
-	 */
-	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 the form by looping through the managed parts and
-	 * initializing them. Has no effect if already called once.
-	 */
-	public void initialize() {
-		if (initialized)
-			return;
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart part = (IFormPart) parts.get(i);
-			part.initialize(this);
-		}
-		initialized = true;
-	}
-
-	/**
-	 * 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. Since 3.1, this
-	 * method is performed on a UI thread when called from another thread so it
-	 * is not needed to wrap the call in <code>Display.syncExec</code> or
-	 * <code>asyncExec</code>.
-	 */
-	public void refresh() {
-		Thread t = Thread.currentThread();
-		Thread dt = toolkit.getColors().getDisplay().getThread();
-		if (t.equals(dt))
-			doRefresh();
-		else {
-			toolkit.getColors().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					doRefresh();
-				}
-			});
-		}
-	}
-
-	private void doRefresh() {
-		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);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IManagedForm#commit(boolean)
-	 */
-	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);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IManagedForm#setInput(java.lang.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;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IManagedForm#getInput()
-	 */
-	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();
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IManagedForm#isDirty()
-	 */
-	public boolean isDirty() {
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart part = (IFormPart) parts.get(i);
-			if (part.isDirty())
-				return true;
-		}
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IManagedForm#isStale()
-	 */
-	public boolean isStale() {
-		for (int i = 0; i < parts.size(); i++) {
-			IFormPart part = (IFormPart) parts.get(i);
-			if (part.isStale())
-				return true;
-		}
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IManagedForm#dirtyStateChanged()
-	 */
-	public void dirtyStateChanged() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IManagedForm#staleStateChanged()
-	 */
-	public void staleStateChanged() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IManagedForm#getContainer()
-	 */
-	public Object getContainer() {
-		return container;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IManagedForm#setContainer(java.lang.Object)
-	 */
-	public void setContainer(Object container) {
-		this.container = container;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IManagedForm#getMessageManager()
-	 */
-	public IMessageManager getMessageManager() {
-		if (messageManager == null)
-			messageManager = new MessageManager(form);
-		return messageManager;
-	}
-}
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 19dc3d1..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/MasterDetailsBlock.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Sash;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-
-/**
- * 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;
-	
-	static final int DRAGGER_SIZE = 40;
-	
-	class MDSashForm extends SashForm {
-		ArrayList sashes = new ArrayList();
-		Listener listener = new Listener () {
-			public void handleEvent(Event e) {
-				switch (e.type) {
-				case SWT.MouseEnter:
-					e.widget.setData("hover", Boolean.TRUE); //$NON-NLS-1$
-					((Control)e.widget).redraw();
-					break;
-				case SWT.MouseExit:
-					e.widget.setData("hover", null); //$NON-NLS-1$
-					((Control)e.widget).redraw();
-					break;
-				case SWT.Paint:
-					onSashPaint(e);
-				break;
-				case SWT.Resize:
-					hookSashListeners();
-				break;
-				}
-			}
-		};
-		public MDSashForm(Composite parent, int style) {
-			super(parent, style);
-		}
-		
-		public void layout(boolean changed) {
-			super.layout(changed);
-			hookSashListeners();
-		}
-		
-		public void layout(Control [] children) {
-			super.layout(children);
-			hookSashListeners();
-		}
-
-		private void hookSashListeners() {
-			purgeSashes();
-			Control [] children = getChildren();
-			for (int i=0; i<children.length; i++) {
-				if (children[i] instanceof Sash) {
-					Sash sash = (Sash)children[i];
-					if (sashes.contains(sash))
-						continue;
-					sash.addListener(SWT.Paint, listener);
-					sash.addListener(SWT.MouseEnter, listener);
-					sash.addListener(SWT.MouseExit, listener);
-					sashes.add(sash);
-				}
-			}
-		}
-		private void purgeSashes() {
-			for (Iterator iter=sashes.iterator(); iter.hasNext();) {
-				Sash sash = (Sash)iter.next();
-				if (sash.isDisposed())
-					iter.remove();
-			}
-		}
-	}
-
-	/**
-	 * 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 MDSashForm(form.getBody(), SWT.NULL);
-		sashForm.setData("form", managedForm); //$NON-NLS-1$
-		toolkit.adapt(sashForm, false, false);
-		sashForm.setMenu(form.getBody().getMenu());
-		sashForm.setLayoutData(new GridData(GridData.FILL_BOTH));
-		createMasterPart(managedForm, sashForm);
-		createDetailsPart(managedForm, sashForm);
-		hookResizeListener();
-		createToolBarActions(managedForm);
-		form.updateToolBar();
-	}
-	
-	private void hookResizeListener() {
-		Listener listener = ((MDSashForm)sashForm).listener;
-		Control [] children = sashForm.getChildren();
-		for (int i=0; i<children.length; i++) {
-			if (children[i] instanceof Sash) continue;
-			children[i].addListener(SWT.Resize, listener);
-		}
-	}
-
-	/**
-	 * 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);
-	}
-	
-	private void onSashPaint(Event e) {
-		Sash sash = (Sash)e.widget;
-		IManagedForm form = (IManagedForm)sash.getParent().getData("form"); //$NON-NLS-1$
-		FormColors colors = form.getToolkit().getColors();
-		boolean vertical = (sash.getStyle() & SWT.VERTICAL)!=0;
-		GC gc = e.gc;
-		Boolean hover = (Boolean)sash.getData("hover"); //$NON-NLS-1$
-		gc.setBackground(colors.getColor(IFormColors.TB_BG));
-		gc.setForeground(colors.getColor(IFormColors.TB_BORDER));
-		Point size = sash.getSize();
-		if (vertical) {
-			if (hover!=null)
-				gc.fillRectangle(0, 0, size.x, size.y);
-			//else
-				//gc.drawLine(1, 0, 1, size.y-1);
-		}
-		else {
-			if (hover!=null)
-				gc.fillRectangle(0, 0, size.x, size.y);
-			//else
-				//gc.drawLine(0, 1, size.x-1, 1);				
-		}
-	}
-}
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 618a352..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/SectionPart.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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));
-	}
-
-	/**
-	 * Adds listeners to the underlying widget.
-	 */
-	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);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.AbstractFormPart#setFocus()
-	 */
-	public void setFocus() {
-		Control client = section.getClient();
-		if (client != null)
-			client.setFocus();
-	}
-}
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 4735584..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormEditor.java
+++ /dev/null
@@ -1,693 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.editor;
-
-import java.util.Vector;
-
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.jface.dialogs.IPageChangeProvider;
-import org.eclipse.jface.dialogs.IPageChangedListener;
-import org.eclipse.jface.dialogs.PageChangedEvent;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-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.1,
- * FormEditor is a page change provider. It allows listeners to attach to it and
- * get notified when pages are changed. This new API in JFace allows dynamic
- * help to update on page changes.
- * 
- * @since 3.0
- */
-public abstract class FormEditor extends MultiPageEditorPart implements
-		IPageChangeProvider {
-
-	/**
-	 * An array of pages currently in the editor. Page objects are not limited
-	 * to those that implement <code>IFormPage</code>, hence the size of this
-	 * array matches the number of pages as viewed by the user.
-	 * <p>
-	 * Subclasses can access this field but should not modify it.
-	 */
-	protected Vector pages = new Vector();
-
-	private FormToolkit toolkit;
-
-	private int currentPage = -1;
-
-	private ListenerList pageListeners = new ListenerList();
-
-	private static class FormEditorSelectionProvider extends
-			MultiPageSelectionProvider {
-		private ISelection globalSelection;
-
-		/**
-		 * @param formEditor the editor
-		 */
-		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();
-			}
-			if (globalSelection != null) {
-			    return globalSelection;
-			}
-			return StructuredSelection.EMPTY;
-		}
-
-		/*
-		 * (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() {
-	}
-
-	/**
-	 * 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() {
-		addPages();
-	}
-
-	/*
-	 * @see org.eclipse.ui.part.MultiPageEditorPart#createPageContainer(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Composite createPageContainer(Composite parent) {
-		parent = super.createPageContainer(parent);
-		toolkit = createToolkit(parent.getDisplay());
-		return parent;
-	}
-
-	/**
-	 * 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();
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.IPageChangeProvider#addPageChangedListener(org.eclipse.jface.dialogs.IPageChangedListener)
-	 */
-	public void addPageChangedListener(IPageChangedListener listener) {
-		pageListeners.add(listener);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.IPageChangeProvider#removePageChangedListener(org.eclipse.jface.dialogs.IPageChangedListener)
-	 */
-	public void removePageChangedListener(IPageChangedListener listener) {
-		pageListeners.remove(listener);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.IPageChangeProvider#getSelectedPage()
-	 */
-	public Object getSelectedPage() {
-		return getActivePageInstance();
-	}
-
-	/**
-	 * Adds the form page to this editor. Form page will be loaded lazily. Its
-	 * part control will not be created until it is activated for the first
-	 * time.
-	 * 
-	 * @param page
-	 *            the form page to add
-	 */
-	public int addPage(IFormPage page) throws PartInitException {
-		int i = super.addPage(page.getPartControl());
-		configurePage(i, page);
-		return i;
-	}
-
-	/**
-	 * Adds the form page to this editor at the specified index (0-based). Form
-	 * page will be loaded lazily. Its part control will not be created until it
-	 * is activated for the first time.
-	 * 
-	 * @param index
-	 *            the position to add the page at (0-based)
-	 * @param page
-	 *            the form page to add
-	 * @since 3.1
-	 */
-	public void addPage(int index, IFormPage page) throws PartInitException {
-		super.addPage(index, page.getPartControl());
-		configurePage(index, page);
-	}
-
-	/**
-	 * Adds a simple SWT control as a page. Overrides superclass implementation
-	 * to keep track of pages.
-	 * 
-	 * @param control
-	 *            the page control to add
-	 * @return the 0-based index of the newly added page
-	 */
-	public int addPage(Control control) {
-		int i = super.addPage(control);
-		try {
-			registerPage(-1, control);
-		} catch (PartInitException e) {
-			// cannot happen for controls
-		}
-		return i;
-	}
-
-	/**
-	 * Adds a simple SWT control as a page. Overrides superclass implementation
-	 * to keep track of pages.
-	 * 
-	 * @param control
-	 *            the page control to add
-	 * @param index
-	 *            the index at which to add the page (0-based)
-	 * @since 3.1
-	 */
-	public void addPage(int index, Control control) {
-		super.addPage(index, control);
-		try {
-			registerPage(index, control);
-		} catch (PartInitException e) {
-			// cannot happen for controls
-		}
-	}
-
-	/**
-	 * Tests whether the editor is dirty by checking all the pages that
-	 * implement <code>IFormPage</code>. If none of them is dirty, the method
-	 * delegates further processing to <code>super.isDirty()</code>.
-	 * 
-	 * @return <code>true</code> if any of the pages in the editor are dirty,
-	 *         <code>false</code> otherwise.
-	 * @since 3.1
-	 */
-
-	public boolean isDirty() {
-		if (pages != null) {
-			for (int i = 0; i < pages.size(); i++) {
-				Object page = pages.get(i);
-				if (page instanceof IFormPage) {
-					IFormPage fpage = (IFormPage) page;
-					if (fpage.isDirty())
-						return true;
-				}
-			}
-		}
-		return super.isDirty();
-	}
-	
-	/**
-	 * Commits all dirty pages in the editor. This method should
-	 * be called as a first step of a 'save' operation.
-	 * @param onSave <code>true</code> if commit is performed as part
-	 * of the 'save' operation, <code>false</code> otherwise.
-	 * @since 3.3
-	 */
-
-	protected void commitPages(boolean onSave) {
-		if (pages != null) {
-			for (int i = 0; i < pages.size(); i++) {
-				Object page = (IFormPage)pages.get(i);
-				if (page instanceof IFormPage) {
-					IFormPage fpage = (IFormPage)page;
-					IManagedForm mform = fpage.getManagedForm();
-					if (mform != null && mform.isDirty())
-						mform.commit(onSave);
-				}
-			}
-		}	
-	}
-
-	/**
-	 * Adds a complete editor part to the multi-page editor.
-	 * 
-	 * @see MultiPageEditorPart#addPage(IEditorPart, IEditorInput)
-	 */
-	public int addPage(IEditorPart editor, IEditorInput input)
-			throws PartInitException {
-		int index = super.addPage(editor, input);
-		if (editor instanceof IFormPage)
-			configurePage(index, (IFormPage) editor);
-		else
-			registerPage(-1, editor);
-		return index;
-	}
-
-	/**
-	 * Adds a complete editor part to the multi-page editor at the specified
-	 * position.
-	 * 
-	 * @see MultiPageEditorPart#addPage(int, IEditorPart, IEditorInput)
-	 * @since 3.1
-	 */
-	public void addPage(int index, IEditorPart editor, IEditorInput input)
-			throws PartInitException {
-		super.addPage(index, editor, input);
-		if (editor instanceof IFormPage)
-			configurePage(index, (IFormPage) editor);
-		else
-			registerPage(index, editor);
-	}
-
-	/**
-	 * 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(index, page);
-	}
-
-	/**
-	 * Overrides the superclass to remove the page from the page table.
-	 * 
-	 * @param pageIndex
-	 *            the 0-based index of the page in the editor
-	 */
-	public void removePage(int pageIndex) {
-		if (pageIndex >= 0 && pageIndex < pages.size()) {
-			Object page = pages.get(pageIndex);
-			pages.remove(page);
-			if (page instanceof IFormPage) {
-				IFormPage fpage = (IFormPage) page;
-				if (!fpage.isEditor())
-					fpage.dispose();
-				updatePageIndices();
-			}
-		}
-		super.removePage(pageIndex);
-	}
-
-	// fix the page indices after the removal
-	private void updatePageIndices() {
-		for (int i = 0; i < pages.size(); i++) {
-			Object page = pages.get(i);
-			if (page instanceof IFormPage) {
-				IFormPage fpage = (IFormPage) page;
-				fpage.setIndex(i);
-			}
-		}
-	}
-
-	/**
-	 * Called to indicate that the editor has been made dirty or the changes
-	 * have been saved.
-	 */
-	public void editorDirtyStateChanged() {
-		firePropertyChange(PROP_DIRTY);
-	}
-
-	/**
-	 * Disposes the pages and the toolkit after disposing the editor itself.
-	 * Subclasses must call 'super' when reimplementing the method.
-	 */
-	public void dispose() {
-		super.dispose();
-		for (int i = 0; i < pages.size(); i++) {
-			Object page = pages.get(i);
-			if (page instanceof IFormPage) {
-				IFormPage fpage = (IFormPage) page;
-				// don't dispose source pages because they will
-				// be disposed as nested editors by the superclass
-				if (!fpage.isEditor())
-					fpage.dispose();
-			}
-		}
-		pages = null;
-		// toolkit may be null if editor has been instantiated
-		// but never created - see defect #62190
-		if (toolkit != null) {
-			toolkit.dispose();
-			toolkit = null;
-		}
-	}
-
-	/**
-	 * Returns the toolkit owned by this editor.
-	 * 
-	 * @return the toolkit object
-	 */
-	public FormToolkit getToolkit() {
-		return toolkit;
-	}
-
-	/**
-	 * Widens the visibility of the method in the superclass.
-	 * 
-	 * @return the active nested editor
-	 */
-	public IEditorPart getActiveEditor() {
-		return super.getActiveEditor();
-	}
-
-	/**
-	 * Returns the current page index. The value is identical to the value of
-	 * 'getActivePage()' except during the page switch, when this method still
-	 * has the old active page index.
-	 * <p>
-	 * Another important difference is during the editor closing. When the tab
-	 * folder is disposed, 'getActivePage()' will return -1, while this method
-	 * will still return the last active page.
-	 * 
-	 * @see #getActivePage
-	 * @return the currently selected page or -1 if no page is currently
-	 *         selected
-	 */
-	protected int getCurrentPage() {
-		return currentPage;
-	}
-
-	/**
-	 * @see MultiPageEditorPart#pageChange(int)
-	 */
-	protected void pageChange(int newPageIndex) {
-		// fix for windows handles
-		int oldPageIndex = getCurrentPage();
-		if (oldPageIndex != -1 && pages.size() > oldPageIndex
-				&& pages.get(oldPageIndex) instanceof IFormPage
-				&& oldPageIndex != newPageIndex) {
-			// Check the old page
-			IFormPage oldFormPage = (IFormPage) pages.get(oldPageIndex);
-			if (oldFormPage.canLeaveThePage() == false) {
-				setActivePage(oldPageIndex);
-				return;
-			}
-		}
-		// Now is the absolute last moment to create the page control.
-		Object page = pages.get(newPageIndex);
-		if (page instanceof IFormPage) {
-			IFormPage fpage = (IFormPage) page;
-			if (fpage.getPartControl() == null) {
-				fpage.createPartControl(getContainer());
-				setControl(newPageIndex, fpage.getPartControl());
-				fpage.getPartControl().setMenu(getContainer().getMenu());
-			}
-		}
-		if (oldPageIndex != -1 && pages.size() > oldPageIndex
-				&& pages.get(oldPageIndex) instanceof IFormPage) {
-			// Commit old page before activating the new one
-			IFormPage oldFormPage = (IFormPage) pages.get(oldPageIndex);
-			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 (oldPageIndex != -1 && pages.size() > oldPageIndex
-				&& newPageIndex != oldPageIndex && 
-				pages.get(oldPageIndex) instanceof IFormPage)
-			((IFormPage) pages.get(oldPageIndex)).setActive(false);
-		// Call super - this will cause pages to switch
-		super.pageChange(newPageIndex);
-		this.currentPage = newPageIndex;
-		IFormPage newPage = getActivePageInstance();
-		if (newPage != null)
-			firePageChanged(new PageChangedEvent(this, newPage));
-	}
-
-	/**
-	 * Sets the active page using the unique page identifier.
-	 * 
-	 * @param pageId
-	 *            the id of the page to switch to
-	 * @return page that was set active or <samp>null </samp> if not found.
-	 */
-	public IFormPage setActivePage(String pageId) {
-		for (int i = 0; i < pages.size(); i++) {
-			Object page = pages.get(i);
-			if (page instanceof IFormPage) {
-				IFormPage fpage = (IFormPage) page;
-				if (fpage.getId().equals(pageId)) {
-					setActivePage(i);
-					return fpage;
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Finds the page instance that has the provided id.
-	 * 
-	 * @param pageId
-	 *            the id of the page to find
-	 * @return page with the matching id or <code>null</code> if not found.
-	 */
-	public IFormPage findPage(String pageId) {
-		for (int i = 0; i < pages.size(); i++) {
-			Object page = pages.get(i);
-			if (page instanceof IFormPage) {
-				IFormPage fpage = (IFormPage) pages.get(i);
-				if (fpage.getId().equals(pageId))
-					return fpage;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Sets the active page using the unique page identifier and sets its input
-	 * to the provided object.
-	 * 
-	 * @param pageId
-	 *            the id of the page to switch to
-	 * @param pageInput
-	 *            the page input
-	 * @return page that was set active or <samp>null </samp> if not found.
-	 */
-	public IFormPage setActivePage(String pageId, Object pageInput) {
-		IFormPage page = setActivePage(pageId);
-		if (page != null) {
-			IManagedForm mform = page.getManagedForm();
-			if (mform != null)
-				mform.setInput(pageInput);
-		}
-		return page;
-	}
-
-	/**
-	 * Iterates through the pages calling similar method until a page is found
-	 * that contains the desired page input.
-	 * 
-	 * @param pageInput
-	 *            the object to select and reveal
-	 * @return the page that accepted the request or <code>null</code> if no
-	 *         page has the desired object.
-	 * @see #setActivePage(String, Object)
-	 */
-	public IFormPage selectReveal(Object pageInput) {
-		for (int i = 0; i < pages.size(); i++) {
-			Object page = pages.get(i);
-			if (page instanceof IFormPage) {
-				IFormPage fpage = (IFormPage) page;
-				if (fpage.selectReveal(pageInput))
-					return fpage;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns active page instance if the currently selected page index is not
-	 * -1, or <code>null</code> if it is.
-	 * 
-	 * @return active page instance if selected, or <code>null</code> if no
-	 *         page is currently active.
-	 */
-	public IFormPage getActivePageInstance() {
-		int index = getActivePage();
-		if (index != -1) {
-			Object page = pages.get(index);
-			if (page instanceof IFormPage)
-				return (IFormPage) page;
-		}
-		return null;
-	}
-
-	/**
-	 * @see MultiPageEditorPart#setActivePage(int)
-	 */
-	protected void setActivePage(int pageIndex) {
-		// fix for window handles problem
-		// this should be called only when the editor is first opened
-		if (pages.size() > pageIndex
-				&& pages.get(pageIndex) instanceof IFormPage) {
-			pageChange(pageIndex);
-			IFormPage activePage = (IFormPage) pages.get(pageIndex);
-			activePage.setActive(true);
-			super.setActivePage(pageIndex);
-		} else
-			super.setActivePage(pageIndex);
-		updateActionBarContributor(pageIndex);
-	}
-
-	/**
-	 * Notifies action bar contributor about page change.
-	 * 
-	 * @param pageIndex
-	 *            the index of the new page
-	 */
-	protected void updateActionBarContributor(int pageIndex) {
-		// this is to enable the undo/redo actions before a page change has
-		// occurred
-		IEditorActionBarContributor contributor = getEditorSite()
-				.getActionBarContributor();
-		if (contributor != null
-				&& contributor instanceof MultiPageEditorActionBarContributor) {
-			((MultiPageEditorActionBarContributor) contributor)
-					.setActivePage(getEditor(pageIndex));
-		}
-	}
-
-	/**
-	 * Closes the editor programmatically.
-	 * 
-	 * @param save
-	 *            if <code>true</code>, the content should be saved before
-	 *            closing.
-	 */
-	public void close(final boolean save) {
-		Display display = getSite().getShell().getDisplay();
-		display.asyncExec(new Runnable() {
-			public void run() {
-				if (toolkit != null) {
-					getSite().getPage().closeEditor(FormEditor.this, save);
-				}
-			}
-		});
-	}
-
-	private void registerPage(int index, Object page) throws PartInitException {
-		if (!pages.contains(page)) {
-			if (index == -1)
-				pages.add(page);
-			else
-				pages.add(index, page);
-		}
-		if (page instanceof IFormPage) {
-			IFormPage fpage = (IFormPage) page;
-			if (fpage.isEditor() == false)
-				fpage.init(getEditorSite(), getEditorInput());
-		}
-	}
-
-	private void firePageChanged(final PageChangedEvent event) {
-		Object[] listeners = pageListeners.getListeners();
-		for (int i = 0; i < listeners.length; ++i) {
-			final IPageChangedListener l = (IPageChangedListener) listeners[i];
-			SafeRunnable.run(new SafeRunnable() {
-				public void run() {
-					l.pageChanged(event);
-				}
-			});
-		}
-	}
-}
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 64da9f1..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormPage.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 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;
-		setPartName(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 <code>null</code>- form page has no title image. Subclasses
-	 * may override.
-	 * 
-	 * @return <code>null</code>
-	 */
-	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;
-	}
-}
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 a7f4ff9..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/IFormPage.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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);
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/SharedHeaderFormEditor.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/SharedHeaderFormEditor.java
deleted file mode 100644
index 418e1da..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/SharedHeaderFormEditor.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.editor;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IKeyBindingService;
-import org.eclipse.ui.INestableKeyBindingService;
-import org.eclipse.ui.forms.IFormPart;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.ManagedForm;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.internal.forms.widgets.FormUtil;
-import org.eclipse.ui.internal.services.INestable;
-
-/**
- * A variation of {@link FormEditor}, this editor has a stable header that does
- * not change when pages are switched. Pages that are added to this editor
- * should not have the title or image set.
- * 
- * @since 3.3
- */
-public abstract class SharedHeaderFormEditor extends FormEditor {
-	private HeaderForm headerForm;
-	
-	private boolean wasHeaderActive= true;
-	private Listener activationListener= null;
-
-	private static class HeaderForm extends ManagedForm {
-		public HeaderForm(FormEditor editor, ScrolledForm form) {
-			super(editor.getToolkit(), form);
-			setContainer(editor);
-			if (editor.getEditorInput() != null)
-				setInput(editor.getEditorInput());
-		}
-
-		private FormEditor getEditor() {
-			return (FormEditor) getContainer();
-		}
-
-		public void dirtyStateChanged() {
-			getEditor().editorDirtyStateChanged();
-		}
-
-		public void staleStateChanged() {
-			refresh();
-		}
-	}
-
-	/**
-	 * The default constructor.
-	 */
-
-	public SharedHeaderFormEditor() {
-	}
-
-	/**
-	 * Overrides <code>super</code> to create a form in which to host the tab
-	 * folder. This form will be responsible for managing
-	 * 
-	 * @param parent
-	 *            the page container parent
-	 * 
-	 * @see org.eclipse.ui.part.MultiPageEditorPart#createPageContainer(org.eclipse.swt.widgets.Composite)
-	 */
-
-	protected Composite createPageContainer(Composite parent) {
-		parent = super.createPageContainer(parent);
-		parent.setLayout(new FillLayout());
-		ScrolledForm scform = getToolkit().createScrolledForm(parent);
-		scform.getForm().setData(FormUtil.IGNORE_BODY, Boolean.TRUE);
-		headerForm = new HeaderForm(this, scform);
-		createHeaderContents(headerForm);
-		return headerForm.getForm().getBody();
-	}
-
-	/**
-	 * Returns the form that owns the shared header.
-	 * 
-	 * @return the shared header
-	 */
-
-	public IManagedForm getHeaderForm() {
-		return headerForm;
-	}
-	
-	protected void createPages() {
-		super.createPages();
-		
-		// preempt MultiPageEditorPart#createPartControl(Composite)
-		if (getActivePage() == -1) {
-			// create page control and initialize page, keep focus on header by calling super implementation
-			super.setActivePage(0);
-		}
-	}
-	
-	protected void setActivePage(int pageIndex) {
-		// programmatic focus change
-		wasHeaderActive= false;
-		super.setActivePage(pageIndex);
-	}
-	
-	public void setFocus() {
-		installActivationListener();
-		if (wasHeaderActive)
-			((ManagedForm) getHeaderForm()).setFocus();
-		else {
-			int index= getActivePage();
-			if (index == -1)
-				((ManagedForm) getHeaderForm()).setFocus();
-			else
-				super.setFocus();
-		}
-	}
-	
-	private void installActivationListener() {
-		if (activationListener == null) {
-			activationListener = new Listener() {
-				public void handleEvent(Event event) {
-					boolean wasHeaderActive = event.widget != getContainer();
-					
-					// fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=177331
-					int activePage = getActivePage();
-					if (SharedHeaderFormEditor.this.wasHeaderActive != wasHeaderActive && activePage != -1 && pages.get(activePage) instanceof IEditorPart) {
-						IEditorPart activePart = (IEditorPart) pages.get(activePage);
-						IKeyBindingService keyBindingService = getSite().getKeyBindingService();
-						
-						if (wasHeaderActive) {
-							
-							if (activePart.getSite() instanceof INestable)
-								((INestable) activePart.getSite()).deactivate();
-							
-							if (keyBindingService instanceof INestableKeyBindingService)
-								((INestableKeyBindingService) keyBindingService).activateKeyBindingService(null);
-							
-						} else {
-							
-							if (keyBindingService instanceof INestableKeyBindingService)
-								((INestableKeyBindingService) keyBindingService).activateKeyBindingService(activePart.getSite());
-							
-							if (activePart.getSite() instanceof INestable)
-								((INestable) activePart.getSite()).activate();
-							
-						}
-					}
-					
-					SharedHeaderFormEditor.this.wasHeaderActive = wasHeaderActive;
-				}
-			};
-			getContainer().addListener(SWT.Activate, activationListener);
-			getHeaderForm().getForm().getForm().getHead().addListener(SWT.Activate, activationListener);
-		}
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.editor.FormEditor#dispose()
-	 */
-	public void dispose() {
-		if (headerForm != null) {
-			headerForm.dispose();
-			headerForm = null;
-		}
-		super.dispose();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.editor.FormEditor#isDirty()
-	 */
-	public boolean isDirty() {
-		return headerForm.isDirty() || super.isDirty();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.editor.FormEditor#commitPages(boolean)
-	 */
-	protected void commitPages(boolean onSave) {
-		if (headerForm != null && headerForm.isDirty())
-			headerForm.commit(onSave);
-		super.commitPages(onSave);
-	}
-
-	/**
-	 * Subclasses should extend this method to configure the form that owns the
-	 * shared header. If the header form will contain controls that can change
-	 * the state of the editor, they should be wrapped in an IFormPart so that
-	 * they can participate in the life cycle event management.
-	 * 
-	 * @param headerForm
-	 *            the form that owns the shared header
-	 * @see IFormPart
-	 */
-	protected void createHeaderContents(IManagedForm headerForm) {
-	}
-}
\ 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 f483062..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/ExpansionAdapter.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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) {
-	}
-}
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 e2b34e5..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/ExpansionEvent.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 {
-	private static final long serialVersionUID = 6009335074727417445L;
-	/**
-	 * 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;
-	}
-}
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 4dd56ae..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/HyperlinkAdapter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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) {
-	}
-}
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 a8bec77..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/HyperlinkEvent.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 static final long serialVersionUID = 6009335074727417445L;
-	private String label;
-	private int stateMask;
-	/**
-	 * Creates a new hyperlink
-	 * 
-	 * @param widget
-	 *            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).
-	 * @param stateMask
-	 *            the given state mask
-	 */
-	public HyperlinkEvent(Widget widget, Object href, String label, int stateMask) {
-		super(widget);
-		this.widget = widget;
-		this.data = href;
-		this.label = label;
-		this.stateMask = stateMask;
-	}
-	/**
-	 * 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;
-	}
-}
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 771ada3..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/IExpansionListener.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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);
-}
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 34c18c4..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/events/IHyperlinkListener.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 org.eclipse.ui.forms.widgets.Hyperlink
- * @see org.eclipse.ui.forms.widgets.ImageHyperlink
- * @see org.eclipse.ui.forms.widgets.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);
-}
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 188d1e0..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/AbstractHyperlink.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-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;
-	boolean paintFocus=true;
-
-	/*
-	 * Armed link is one that will activate on a mouse up event, i.e.
-	 * it has received a mouse down and mouse still on top of it.
-	 */
-	private boolean armed;
-
-	private ListenerList 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.MouseDown:
-					handleMouseDown(e);
-					break;
-				case SWT.MouseUp:
-					handleMouseUp(e);
-					break;
-				case SWT.MouseMove:
-					handleMouseMove(e);
-					break;
-				}
-			}
-		};
-		addListener(SWT.MouseEnter, listener);
-		addListener(SWT.MouseExit, listener);
-		addListener(SWT.MouseDown, listener);
-		addListener(SWT.MouseUp, listener);
-		addListener(SWT.MouseMove, 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 ListenerList();
-		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);
-		Object[] listenerList = listeners.getListeners();
-		for (int i = 0; i < size; i++) {
-			IHyperlinkListener listener = (IHyperlinkListener) listenerList[i];
-			listener.linkEntered(he);
-		}
-	}
-
-	/**
-	 * Called when hyperlink is exited. Subclasses that override this method
-	 * must call 'super'.
-	 */
-	protected void handleExit(Event e) {
-		// disarm the link; won't activate on mouseup
-		armed = false;
-		redraw();
-		if (listeners == null)
-			return;
-		int size = listeners.size();
-		HyperlinkEvent he = new HyperlinkEvent(this, getHref(), getText(),
-				e.stateMask);
-		Object[] listenerList = listeners.getListeners();
-		for (int i = 0; i < size; i++) {
-			IHyperlinkListener listener = (IHyperlinkListener) listenerList[i];
-			listener.linkExited(he);
-		}
-	}
-
-	/**
-	 * Called when hyperlink has been activated. Subclasses that override this
-	 * method must call 'super'.
-	 */
-	protected void handleActivate(Event e) {
-		// disarm link, back to normal state
-		armed = false;
-		getAccessible().setFocus(ACC.CHILDID_SELF);
-		if (listeners == null)
-			return;
-		int size = listeners.size();
-		setCursor(FormsResources.getBusyCursor());
-		HyperlinkEvent he = new HyperlinkEvent(this, getHref(), getText(),
-				e.stateMask);
-		Object[] listenerList = listeners.getListeners();
-		for (int i = 0; i < size; i++) {
-			IHyperlinkListener listener = (IHyperlinkListener) listenerList[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); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the object associated with this hyperlink.
-	 * 
-	 * @see #setHref
-	 * @return the hyperlink object reference
-	 */
-	public Object getHref() {
-		return getData("href"); //$NON-NLS-1$
-	}
-
-	/**
-	 * 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 gc
-	 *            graphic context
-	 */
-	protected abstract void paintHyperlink(GC gc);
-
-	/**
-	 * Paints the control as a reaction to the provided paint event.
-	 * 
-	 * @param e
-	 *            the paint event
-	 */
-	protected void paint(PaintEvent e) {
-		GC gc = e.gc;
-		Rectangle clientArea = getClientArea();
-		if (clientArea.width == 0 || clientArea.height == 0)
-			return;
-		paintHyperlink(gc);
-		if (paintFocus && hasFocus) {
-			Rectangle carea = getClientArea();
-			gc.setForeground(getForeground());
-			gc.drawFocus(0, 0, carea.width, carea.height);
-		}
-	}
-
-	private void handleMouseDown(Event e) {
-		if (e.button != 1)
-			return;
-		// armed and ready to activate on mouseup
-		armed = true;
-	}
-
-	private void handleMouseUp(Event e) {
-		if (!armed || 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);
-	}
-
-	private void handleMouseMove(Event e) {
-		// disarm link if we move out of bounds
-		if (armed) {
-			Point size = getSize();
-			armed = (e.x >= 0 && e.y >= 0 && e.x < size.x && e.y < size.y);
-		}
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Control#setEnabled(boolean)
-	 */
-
-	public void setEnabled (boolean enabled) {
-		super.setEnabled(enabled);
-		redraw();
-	}
-}
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 42e9375..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ColumnLayout.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     dinko.ivanov@sap.com - patch #70790
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-import org.eclipse.swt.SWT;
-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.Layout;
-/**
- * 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.min(ncolumns, children.length);
-			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;
-		
-		boolean fillIn = false;
-		
-		for (int i = 0; i < sizes.length; i++) {
-			int childHeight = sizes[i].y;
-			if (i>0 && colHeight + childHeight > perColHeight) {
-				heights[ncol] = colHeight;
-				ncol++;
-				if (ncol == ncolumns || fillIn) {
-					// overflow - start filling in
-					fillIn = true;
-					ncol = findShortestColumn(heights);
-				}
-				colHeight = heights[ncol];
-			}
-			if (colHeight > 0)
-				colHeight += verticalSpacing;
-			colHeight += childHeight;
-		}
-		heights[ncol] = Math.max(heights[ncol],colHeight);
-		
-		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.min(ncolumns, children.length);		
-		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 fillWidth = Math.max(cwidth, realWidth);
-		
-		int perColHeight = cheight / ncolumns;
-		if (cheight % ncolumns != 0)
-			perColHeight++;
-		
-		int colHeight = 0;
-		int[] heights = new int[ncolumns];
-		int ncol = 0;
-		int x = leftMargin;
-		boolean fillIn = false;
-		
-		for (int i = 0; i < sizes.length; i++) {
-			Control child = children[i];
-			Point csize = sizes[i];
-			ColumnLayoutData cd = (ColumnLayoutData) child.getLayoutData();
-			int align = cd != null ? cd.horizontalAlignment : ColumnLayoutData.FILL;
-			int childWidth = align == ColumnLayoutData.FILL ? fillWidth : csize.x;
-
-			if (i>0 && colHeight + csize.y > perColHeight) {
-				heights[ncol] = colHeight;
-				if (fillIn || ncol == ncolumns-1) {
-					// overflow - start filling in
-					fillIn = true;
-					ncol = findShortestColumn(heights);
-					
-					x = leftMargin + ncol * (fillWidth + horizontalSpacing);
-
-				}
-				else {
-					ncol++;
-					x += fillWidth + horizontalSpacing;
-				}
-				colHeight = heights[ncol];
-			}
-			if (colHeight > 0)
-				colHeight += verticalSpacing;
-			
-			
-			switch (align) {
-				case ColumnLayoutData.LEFT :
-				case ColumnLayoutData.FILL :
-					child.setBounds(x, topMargin+colHeight, childWidth, csize.y);
-					break;
-				case ColumnLayoutData.RIGHT :
-					child.setBounds(x + fillWidth - childWidth, topMargin+colHeight, childWidth, csize.y);
-					break;
-				case ColumnLayoutData.CENTER :
-					child.setBounds(x + fillWidth / 2 - childWidth / 2, topMargin+colHeight, childWidth, csize.y);
-					break;
-			}
-			
-			colHeight += csize.y;
-		}
-	}
-
-	/*
-	 * (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;
-	}
-}
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 2f6fc09..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ColumnLayoutData.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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() {
-	}
-}
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 83c1830..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ExpandableComposite.java
+++ /dev/null
@@ -1,1056 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.forms.events.ExpansionEvent;
-import org.eclipse.ui.forms.events.HyperlinkAdapter;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IExpansionListener;
-import org.eclipse.ui.internal.forms.widgets.FormUtil;
-import org.eclipse.ui.internal.forms.widgets.FormsResources;
-
-/**
- * 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. *
- * <p>
- * Since 3.1, left/right arrow keys can be used to control the expansion state.
- * If several expandable composites are created in the same parent, up/down
- * arrow keys can be used to traverse between them. Expandable text accepts
- * mnemonics and mnemonic activation will toggle the expansion state.
- * 
- * <p>
- * While expandable composite recognize that different styles can be used to
- * render the title bar, and even defines the constants for these styles (<code>TITLE_BAR</code>
- * and <code>SHORT_TITLE_BAR</code> the actual painting is done in the
- * subclasses.
- * 
- * @see Section
- * @since 3.0
- */
-public class ExpandableComposite extends Canvas {
-	/**
-	 * 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, a short version of the title bar decoration will
-	 * be painted behind the text. This style is useful when a more descrete
-	 * option is needed for the title bar.
-	 * 
-	 * @since 3.1
-	 */
-	public static final int SHORT_TITLE_BAR = 1 << 9;
-
-	/**
-	 * If this style is used, title will not be rendered.
-	 */
-	public static final int NO_TITLE = 1 << 12;
-
-	/**
-	 * By default, text client is right-aligned. If this style is used, it will
-	 * be positioned after the text control and vertically centered with it.
-	 */
-	public static final int LEFT_TEXT_CLIENT_ALIGNMENT = 1 << 13;
-
-	/**
-	 * 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;
-
-	/**
-	 * Vertical spacing between the title area and the composite client control
-	 * (default is 3).
-	 */
-	public int clientVerticalSpacing = 3;
-
-	/**
-	 * Vertical spacing between the title area and the description control
-	 * (default is 0). The description control is normally placed at the new
-	 * line as defined in the font used to render it. This value will be added
-	 * to it.
-	 * 
-	 * @since 3.3
-	 */
-	public int descriptionVerticalSpacing = 0;
-
-	/**
-	 * Horizontal margin around the inside of the title bar area when TITLE_BAR
-	 * or SHORT_TITLE_BAR style is used. This variable is not used otherwise.
-	 * 
-	 * @since 3.3
-	 */
-	public int titleBarTextMarginWidth = 6;
-
-	/**
-	 * The toggle widget used to expand the composite.
-	 */
-	protected ToggleHyperlink toggle;
-
-	/**
-	 * The text label for the title.
-	 */
-	protected Control textLabel;
-
-	/**
-	 * @deprecated this variable was left as protected by mistake. It will be
-	 *             turned into static and hidden in the future versions. Do not
-	 *             use them and do not change its value.
-	 */
-	protected int VGAP = 3;
-	/**
-	 * @deprecated this variable was left as protected by mistake. It will be
-	 *             turned into static and hidden in the future versions. Do not
-	 *             use it and do not change its value.
-	 */
-	protected int GAP = 4;
-
-	static final int IGAP = 4;
-	static final int IVGAP = 3;
-
-	private static final Point NULL_SIZE = new Point(0, 0);
-
-	private static final int VSPACE = 3;
-
-	private static final int SEPARATOR_HEIGHT = 2;
-
-	private int expansionStyle = TWISTIE | FOCUS_TITLE | EXPANDED;
-
-	private boolean expanded;
-
-	private Control textClient;
-
-	private Control client;
-
-	private ListenerList listeners = new ListenerList();
-
-	private Color titleBarForeground;
-
-	private class ExpandableLayout extends Layout implements ILayoutExtension {
-
-		private SizeCache toggleCache = new SizeCache();
-
-		private SizeCache textClientCache = new SizeCache();
-
-		private SizeCache textLabelCache = new SizeCache();
-
-		private SizeCache descriptionCache = new SizeCache();
-
-		private SizeCache clientCache = new SizeCache();
-
-		private void initCache(boolean shouldFlush) {
-			toggleCache.setControl(toggle);
-			textClientCache.setControl(textClient);
-			textLabelCache.setControl(textLabel);
-			descriptionCache.setControl(getDescriptionControl());
-			clientCache.setControl(client);
-
-			if (shouldFlush) {
-				toggleCache.flush();
-				textClientCache.flush();
-				textLabelCache.flush();
-				descriptionCache.flush();
-				clientCache.flush();
-			}
-		}
-
-		protected void layout(Composite parent, boolean changed) {
-			initCache(changed);
-
-			Rectangle clientArea = parent.getClientArea();
-			int thmargin = 0;
-			int tvmargin = 0;
-
-			if (hasTitleBar()) {
-				thmargin = titleBarTextMarginWidth;
-				tvmargin = IVGAP;
-			}
-			int x = marginWidth + thmargin;
-			int y = marginHeight + tvmargin;
-			Point tsize = NULL_SIZE;
-			Point tcsize = NULL_SIZE;
-			if (toggle != null)
-				tsize = toggleCache.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			int twidth = clientArea.width - marginWidth - marginWidth
-					- thmargin - thmargin;
-			if (tsize.x > 0)
-				twidth -= tsize.x + IGAP;
-			if (textClient != null)
-				tcsize = textClientCache.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			if (tcsize.x > 0)
-				twidth -= tcsize.x + IGAP;
-			Point size = NULL_SIZE;
-			if (textLabel != null)
-				size = textLabelCache.computeSize(twidth, SWT.DEFAULT);
-			if (textLabel instanceof Label) {
-				Point defSize = textLabelCache.computeSize(SWT.DEFAULT,
-						SWT.DEFAULT);
-				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 textHeight = fm.getHeight();
-				gc.dispose();
-				if (textClient != null
-						&& (expansionStyle & LEFT_TEXT_CLIENT_ALIGNMENT) != 0) {
-					textHeight = Math.max(textHeight, tcsize.y);
-				}
-				int ty = textHeight / 2 - tsize.y / 2 + 1;
-				ty = Math.max(ty, 0);
-				ty += marginHeight + tvmargin;
-				toggle.setLocation(x, ty);
-				toggle.setSize(tsize);
-				x += tsize.x + IGAP;
-			}
-			if (textLabel != null) {
-				int ty = y;
-				if (textClient != null
-						&& (expansionStyle & LEFT_TEXT_CLIENT_ALIGNMENT) != 0) {
-					if (size.y < tcsize.y)
-						ty = tcsize.y / 2 - size.y / 2 + marginHeight
-								+ tvmargin;
-				}
-				textLabelCache.setBounds(x, ty, size.x, size.y);
-			}
-			if (textClient != null) {
-				int tcx;
-				if ((expansionStyle & LEFT_TEXT_CLIENT_ALIGNMENT) != 0) {
-					tcx = x + size.x + GAP;
-				} else {
-					tcx = clientArea.width - tcsize.x - marginWidth - thmargin;
-				}
-				textClientCache.setBounds(tcx, y, tcsize.x, tcsize.y);
-			}
-			int tbarHeight = 0;
-			if (size.y > 0)
-				tbarHeight = size.y;
-			if (tcsize.y > 0)
-				tbarHeight = Math.max(tbarHeight, tcsize.y);
-			y += tbarHeight;
-			if (hasTitleBar())
-				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 = descriptionCache.computeSize(areaWidth,
-								SWT.DEFAULT);
-						y += descriptionVerticalSpacing;
-						descriptionCache.setBounds(cx, y, areaWidth, dsize.y);
-						y += dsize.y + clientVerticalSpacing;
-					} else {
-						y += clientVerticalSpacing;
-						if (getSeparatorControl() != null)
-							y -= VSPACE;
-					}
-					int cwidth = areaWidth;
-					int cheight = clientArea.height - marginHeight
-							- marginHeight - y;
-					clientCache.setBounds(cx, y, cwidth, cheight);
-				}
-			}
-		}
-
-		protected Point computeSize(Composite parent, int wHint, int hHint,
-				boolean changed) {
-			initCache(changed);
-
-			int width = 0, height = 0;
-			Point tsize = NULL_SIZE;
-			int twidth = 0;
-			if (toggle != null) {
-				tsize = toggleCache.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-				twidth = tsize.x + IGAP;
-			}
-			int thmargin = 0;
-			int tvmargin = 0;
-
-			if (hasTitleBar()) {
-				thmargin = titleBarTextMarginWidth;
-				tvmargin = IVGAP;
-			}
-			int innerwHint = wHint;
-			if (innerwHint != SWT.DEFAULT)
-				innerwHint -= twidth + marginWidth + marginWidth + thmargin
-						+ thmargin;
-
-			int innertHint = innerwHint;
-
-			Point tcsize = NULL_SIZE;
-			if (textClient != null) {
-				tcsize = textClientCache.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-				if (innertHint != SWT.DEFAULT)
-					innertHint -= IGAP + tcsize.x;
-			}
-			Point size = NULL_SIZE;
-
-			if (textLabel != null)
-				size = textLabelCache.computeSize(innertHint, SWT.DEFAULT);
-			if (textLabel instanceof Label) {
-				Point defSize = textLabelCache.computeSize(SWT.DEFAULT,
-						SWT.DEFAULT);
-				if (defSize.y == size.y) {
-					// One line - pick the smaller of the two widths
-					size.x = Math.min(defSize.x, size.x);
-				}
-			}
-			if (size.x > 0)
-				width = size.x;
-			if (tcsize.x > 0)
-				width += IGAP + tcsize.x;
-			height = tcsize.y > 0 ? Math.max(tcsize.y, size.y) : size.y;
-			if (getSeparatorControl() != null) {
-				height += VSPACE + SEPARATOR_HEIGHT;
-				if (expanded && client != null)
-					height += VSPACE;
-			}
-			// if (hasTitleBar())
-			// height += VSPACE;
-			if ((expanded || (expansionStyle & COMPACT) == 0) && client != null) {
-				int cwHint = wHint;
-
-				if (cwHint != SWT.DEFAULT) {
-					cwHint -= marginWidth + marginWidth + thmargin + thmargin;
-					if ((expansionStyle & CLIENT_INDENT) != 0)
-						if (tcsize.x > 0)
-							cwHint -= twidth;
-				}
-				Point dsize = null;
-				Point csize = clientCache.computeSize(FormUtil.getWidthHint(
-						cwHint, client), SWT.DEFAULT);
-				if (getDescriptionControl() != null) {
-					int dwHint = cwHint;
-					if (dwHint == SWT.DEFAULT) {
-						dwHint = csize.x;
-						if ((expansionStyle & CLIENT_INDENT) != 0)
-							dwHint -= twidth;
-					}
-					dsize = descriptionCache.computeSize(dwHint, SWT.DEFAULT);
-				}
-				if (dsize != null) {
-					width = Math.max(width, dsize.x);
-					if (expanded)
-						height += descriptionVerticalSpacing + dsize.y
-								+ clientVerticalSpacing;
-				} else {
-					height += clientVerticalSpacing;
-					if (getSeparatorControl() != null)
-						height -= VSPACE;
-				}
-				width = Math.max(width, csize.x);
-				if (expanded)
-					height += csize.y;
-			}
-			if (toggle != null) {
-				height = height - size.y + Math.max(size.y, tsize.y);
-				width += twidth;
-			}
-
-			Point result = new Point(width + marginWidth + marginWidth
-					+ thmargin + thmargin, height + marginHeight + marginHeight
-					+ tvmargin + tvmargin);
-			return result;
-		}
-
-		public int computeMinimumWidth(Composite parent, boolean changed) {
-			return computeSize(parent, 0, SWT.DEFAULT, changed).x;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.ui.forms.parts.ILayoutExtension#computeMinimumWidth(org.eclipse.swt.widgets.Composite,
-		 *      boolean)
-		 */
-		public int computeMaximumWidth(Composite parent, boolean changed) {
-			return computeSize(parent, SWT.DEFAULT, SWT.DEFAULT, changed).x;
-		}
-	}
-
-	/**
-	 * 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 (as expected by SWT subclass)
-	 * @param expansionStyle
-	 *            the style of the expansion widget (TREE_NODE, TWISTIE,
-	 *            CLIENT_INDENT, COMPACT, FOCUS_TITLE,
-	 *            LEFT_TEXT_CLIENT_ALIGNMENT, NO_TITLE)
-	 */
-	public ExpandableComposite(Composite parent, int style, int expansionStyle) {
-		super(parent, style);
-		this.expansionStyle = expansionStyle;
-		if ((expansionStyle & TITLE_BAR) != 0)
-			setBackgroundMode(SWT.INHERIT_DEFAULT);
-		super.setLayout(new ExpandableLayout());
-		if (hasTitleBar()) {
-			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();
-				}
-			});
-			toggle.addPaintListener(new PaintListener() {
-				public void paintControl(PaintEvent e) {
-					if (textLabel instanceof Label && !isFixedStyle())
-						textLabel.setForeground(toggle.hover ? toggle
-								.getHoverDecorationColor()
-								: getTitleBarForeground());
-				}
-			});
-			toggle.addKeyListener(new KeyAdapter() {
-				public void keyPressed(KeyEvent e) {
-					if (e.keyCode == SWT.ARROW_UP) {
-						verticalMove(false);
-						e.doit = false;
-					} else if (e.keyCode == SWT.ARROW_DOWN) {
-						verticalMove(true);
-						e.doit = false;
-					}
-				}
-			});
-			if ((getExpansionStyle()&FOCUS_TITLE)==0) {
-				toggle.paintFocus=false;
-				toggle.addFocusListener(new FocusListener() {
-					public void focusGained(FocusEvent e) {
-						textLabel.redraw();
-					}
-
-					public void focusLost(FocusEvent e) {
-						textLabel.redraw();
-					}
-				});
-			}
-		}
-		if ((expansionStyle & FOCUS_TITLE) != 0) {
-			Hyperlink link = new Hyperlink(this, SWT.WRAP);
-			link.addHyperlinkListener(new HyperlinkAdapter() {
-				public void linkActivated(HyperlinkEvent e) {
-					programmaticToggleState();
-				}
-			});
-			textLabel = link;
-		} else if ((expansionStyle & NO_TITLE) == 0) {
-			final Label label = new Label(this, SWT.WRAP);
-			if (!isFixedStyle()) {
-				label.setCursor(FormsResources.getHandCursor());
-				Listener listener = new Listener() {
-					public void handleEvent(Event e) {
-						switch (e.type) {
-						case SWT.MouseDown:
-							if (toggle != null)
-								toggle.setFocus();
-							break;
-						case SWT.MouseUp:
-							label.setCursor(FormsResources.getBusyCursor());
-							programmaticToggleState();
-							label.setCursor(FormsResources.getHandCursor());
-							break;
-						case SWT.MouseEnter:
-							if (toggle != null) {
-								label.setForeground(toggle
-										.getHoverDecorationColor());
-								toggle.hover = true;
-								toggle.redraw();
-							}
-							break;
-						case SWT.MouseExit:
-							if (toggle != null) {
-								label.setForeground(getTitleBarForeground());
-								toggle.hover = false;
-								toggle.redraw();
-							}
-							break;
-						case SWT.Paint:
-							if (toggle != null) {
-								paintTitleFocus(e.gc);
-							}
-							break;
-						}
-					}
-				};
-				label.addListener(SWT.MouseDown, listener);
-				label.addListener(SWT.MouseUp, listener);
-				label.addListener(SWT.MouseEnter, listener);
-				label.addListener(SWT.MouseExit, listener);
-				label.addListener(SWT.Paint, listener);
-			}
-			textLabel = label;
-		}
-		if (textLabel != null) {
-			textLabel.setMenu(getMenu());
-			textLabel.addTraverseListener(new TraverseListener() {
-				public void keyTraversed(TraverseEvent e) {
-					if (e.detail == SWT.TRAVERSE_MNEMONIC) {
-						// steal the mnemonic
-						if (!isVisible() || !isEnabled())
-							return;
-						if (FormUtil.mnemonicMatch(getText(), e.character)) {
-							e.doit = false;
-							programmaticToggleState();
-							setFocus();
-						}
-					}
-				}
-			});
-		}
-	}
-
-	/**
-	 * Overrides 'super' to pass the menu to the text label.
-	 * 
-	 * @param menu
-	 *            the menu from the parent to attach to this control.
-	 */
-
-	public void setMenu(Menu menu) {
-		if (textLabel != null)
-			textLabel.setMenu(menu);
-		super.setMenu(menu);
-	}
-
-	/**
-	 * 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 ((getExpansionStyle() & TITLE_BAR) == 0) {
-			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);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.widgets.Control#setEnabled(boolean)
-	 */
-
-	public void setEnabled(boolean enabled) {
-		if (textLabel != null)
-			textLabel.setEnabled(enabled);
-		if (toggle != null)
-			toggle.setEnabled(enabled);
-		super.setEnabled(enabled);
-	}
-
-	/**
-	 * 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 #getText()
-	 */
-	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 #setText(String)
-	 */
-	public String getText() {
-		if (textLabel instanceof Label)
-			return ((Label) textLabel).getText();
-		else if (textLabel instanceof Hyperlink)
-			return ((Hyperlink) textLabel).getText();
-		else
-			return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * 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 the bitwise-ORed style bits for the expansion control
-	 */
-	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) {
-		listeners.add(listener);
-	}
-
-	/**
-	 * Removes the expansion listener.
-	 * 
-	 * @param listener
-	 *            the listner to remove
-	 */
-	public void removeExpansionListener(IExpansionListener listener) {
-		listeners.remove(listener);
-	}
-
-	/**
-	 * If TITLE_BAR or SHORT_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) {
-	}
-
-	/**
-	 * 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;
-	}
-
-	/**
-	 * Returns the difference in height between the text and the text client (if
-	 * set). This difference can cause vertical alignment problems when two
-	 * expandable composites are placed side by side, one with and one without
-	 * the text client. Use this method obtain the value to add to either
-	 * <code>descriptionVerticalSpacing</code> (if you have description) or
-	 * <code>clientVerticalSpacing</code> to correct the alignment of the
-	 * expandable without the text client.
-	 * 
-	 * @return the difference in height between the text and the text client or
-	 *         0 if no corrective action is needed.
-	 * @since 3.3
-	 */
-	public int getTextClientHeightDifference() {
-		if (textClient == null || textLabel == null)
-			return 0;
-		int theight = textLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-		int tcheight = textClient.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-		return Math.max(tcheight - theight, 0);
-	}
-
-	/**
-	 * Tests if this expandable composite renders a title bar around the text.
-	 * 
-	 * @return <code>true</code> for <code>TITLE_BAR</code> or
-	 *         <code>SHORT_TITLE_BAR</code> styles, <code>false</code>
-	 *         otherwise.
-	 */
-	protected boolean hasTitleBar() {
-		return (getExpansionStyle() & TITLE_BAR) != 0
-				|| (getExpansionStyle() & SHORT_TITLE_BAR) != 0;
-	}
-
-	/**
-	 * 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) {
-		titleBarForeground = color;
-		textLabel.setForeground(color);
-	}
-
-	/**
-	 * Returns the title bar foreground when TITLE_BAR style is used.
-	 * 
-	 * @return the title bar foreground
-	 */
-	public Color getTitleBarForeground() {
-		return titleBarForeground;
-	}
-
-	// end of APIs
-
-	private void toggleState() {
-		boolean newState = !isExpanded();
-		fireExpanding(newState, true);
-		internalSetExpanded(newState);
-		fireExpanding(newState, false);
-		if (newState)
-			FormUtil.ensureVisible(this);
-	}
-
-	private void fireExpanding(boolean state, boolean before) {
-		int size = listeners.size();
-		if (size == 0)
-			return;
-		ExpansionEvent e = new ExpansionEvent(this, state);
-		Object [] listenerList = listeners.getListeners();
-		for (int i = 0; i < size; i++) {
-			IExpansionListener listener = (IExpansionListener) listenerList[i];
-			if (before)
-				listener.expansionStateChanging(e);
-			else
-				listener.expansionStateChanged(e);
-		}
-	}
-
-	private void verticalMove(boolean down) {
-		Composite parent = getParent();
-		Control[] children = parent.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			Control child = children[i];
-			if (child == this) {
-				ExpandableComposite sibling = getSibling(children, i, down);
-				if (sibling != null && sibling.toggle != null) {
-					sibling.setFocus();
-				}
-				break;
-			}
-		}
-	}
-
-	private ExpandableComposite getSibling(Control[] children, int index,
-			boolean down) {
-		int loc = down ? index + 1 : index - 1;
-		while (loc >= 0 && loc < children.length) {
-			Control c = children[loc];
-			if (c instanceof ExpandableComposite && c.isVisible())
-				return (ExpandableComposite) c;
-			loc = down ? loc + 1 : loc - 1;
-		}
-		return null;
-	}
-
-	private void programmaticToggleState() {
-		if (toggle != null)
-			toggle.setExpanded(!toggle.isExpanded());
-		toggleState();
-	}
-	
-	private void paintTitleFocus(GC gc) {
-		Point size = textLabel.getSize();
-		gc.setBackground(textLabel.getBackground());
-		gc.setForeground(textLabel.getForeground());
-		if (toggle.isFocusControl())
-			gc.drawFocus(0, 0, size.x, size.y);
-	}
-}
\ 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 448c567..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Form.java
+++ /dev/null
@@ -1,788 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DragSourceListener;
-import org.eclipse.swt.dnd.DropTargetListener;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-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.Layout;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.forms.IFormColors;
-import org.eclipse.ui.forms.IMessage;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.internal.forms.widgets.FormHeading;
-import org.eclipse.ui.internal.forms.widgets.FormUtil;
-
-/**
- * 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. In addition, an optional
- * title image can be set and is rendered to the left of the title (since 3.2).
- * <p>
- * Form can have a title drop down menu if the menu bar manager is not empty
- * (since 3.3).
- * <p>
- * Form title can support drag and drop if drag and drop support methods are
- * invoked. When used, additional decoration is rendered behind the title to
- * reinforce the drag and drop ability (since 3.3).
- * <p>
- * The form supports status messages. These messages can have various severity
- * (error, warning, info or none). If status hyperlink handler is specified, the
- * messages with the specified severity other than none will be rendered as
- * hyperlinks.
- * <p>
- * Form can have a background image behind the title text. The image is tiled as
- * many times as needed to fill the title area. Alternatively, gradient
- * background can be painted vertically or horizontally.
- * <p>
- * Form can be put in a 'busy' state. While in this state, title image is
- * replaced with an animation that lasts as long as the 'busy' state is active.
- * <p>
- * It is possible to create an optional head client control. When created, this
- * control is placed in the form heading as a second row.
- * <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
- * form 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);
- * 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 should not be subclassed.
- * 
- * @since 3.0
- */
-public class Form extends Composite {
-	private FormHeading head;
-
-	private Composite body;
-
-	private SizeCache bodyCache = new SizeCache();
-
-	private SizeCache headCache = new SizeCache();
-
-	private FormText selectionText;
-
-	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) {
-			if (flushCache) {
-				bodyCache.flush();
-				headCache.flush();
-			}
-			bodyCache.setControl(body);
-			headCache.setControl(head);
-
-			int width = 0;
-			int height = 0;
-
-			Point hsize = headCache.computeSize(FormUtil.getWidthHint(wHint,
-					head), SWT.DEFAULT);
-			width = Math.max(hsize.x, width);
-			height = hsize.y;
-			
-			boolean ignoreBody=getData(FormUtil.IGNORE_BODY)!=null;
-			
-			Point bsize;
-			if (ignoreBody)
-				bsize = new Point(0,0);
-			else
-				bsize = bodyCache.computeSize(FormUtil.getWidthHint(wHint,
-					body), SWT.DEFAULT);
-			width = Math.max(bsize.x, width);
-			height += bsize.y;
-			return new Point(width, height);
-		}
-
-		protected void layout(Composite composite, boolean flushCache) {
-			if (flushCache) {
-				bodyCache.flush();
-				headCache.flush();
-			}
-			bodyCache.setControl(body);
-			headCache.setControl(head);
-			Rectangle carea = composite.getClientArea();
-
-			Point hsize = headCache.computeSize(carea.width, SWT.DEFAULT);
-			headCache.setBounds(0, 0, carea.width, hsize.y);
-			bodyCache
-					.setBounds(0, hsize.y, carea.width, carea.height - hsize.y);
-		}
-	}
-
-	/**
-	 * 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);
-		super.setLayout(new FormLayout());
-		head = new FormHeading(this, SWT.NULL);
-		head.setMenu(parent.getMenu());
-		body = new LayoutComposite(this, SWT.NULL);
-		body.setMenu(parent.getMenu());
-	}
-
-	/**
-	 * Passes the menu to the form body.
-	 * 
-	 * @param menu
-	 *            the parent menu
-	 */
-	public void setMenu(Menu menu) {
-		super.setMenu(menu);
-		head.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 head.getText();
-	}
-
-	/**
-	 * Returns the title image that will be rendered to the left of the title.
-	 * 
-	 * @return the title image or <code>null</code> if not set.
-	 * @since 3.2
-	 */
-	public Image getImage() {
-		return head.getImage();
-	}
-
-	/**
-	 * Sets the foreground color of the form. This color will also be used for
-	 * the body.
-	 * 
-	 * @param fg
-	 *            the foreground color
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		head.setForeground(fg);
-		body.setForeground(fg);
-	}
-
-	/**
-	 * Sets the background color of the form. This color will also be used for
-	 * the body.
-	 * 
-	 * @param bg
-	 *            the background color
-	 */
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		head.setBackground(bg);
-		body.setBackground(bg);
-	}
-
-	/**
-	 * Sets the font of the header text.
-	 * 
-	 * @param font
-	 *            the new font
-	 */
-	public void setFont(Font font) {
-		super.setFont(font);
-		head.setFont(font);
-	}
-
-	/**
-	 * Sets the text to be rendered at the top of the form above the body as a
-	 * title.
-	 * <p>
-	 * <strong>Note:</strong> Mnemonics are indicated by an '&amp;' that causes
-	 * the next character to be the mnemonic. Mnemonics are not applicable in
-	 * the case of the form title but need to be taken into acount due to the
-	 * usage of the underlying widget that renders mnemonics in the title area.
-	 * The mnemonic indicator character '&amp;' can be escaped by doubling it in
-	 * the string, causing a single '&amp;' to be displayed.
-	 * </p>
-	 * 
-	 * @param text
-	 *            the title text
-	 */
-	public void setText(String text) {
-		head.setText(text);
-		layout();
-		redraw();
-	}
-
-	/**
-	 * Sets the image to be rendered to the left of the title. This image will
-	 * be temporarily hidden in two cases:
-	 * 
-	 * <ol>
-	 * <li>When the form is busy - replaced with a busy animation</li>
-	 * <li>When the form has message set - replaced with the image indicating
-	 * message severity</li>
-	 * </ol>
-	 * 
-	 * @param image
-	 *            the title image or <code>null</code> to show no image.
-	 * @since 3.2
-	 */
-	public void setImage(Image image) {
-		head.setImage(image);
-		layout();
-		redraw();
-	}
-
-	/**
-	 * Sets the background colors to be painted behind the title text in a
-	 * gradient. Note that this method will reset color previously set by
-	 * {@link #setBackground(Color)}. This is necessary for the simulated
-	 * transparency of the heading in all of its children control.
-	 * 
-	 * @param gradientColors
-	 *            the array of colors that form the gradient
-	 * @param percents
-	 *            the partition of the overall space between the gradient colors
-	 * @param vertical
-	 *            of <code>true</code>, the gradient will be rendered
-	 *            vertically, if <code>false</code> the orientation will be
-	 *            horizontal.
-	 */
-
-	public void setTextBackground(Color[] gradientColors, int[] percents,
-			boolean vertical) {
-		head.setTextBackground(gradientColors, percents, vertical);
-	}
-
-	/**
-	 * Returns the optional background image of the form head.
-	 * 
-	 * @return the background image or <code>null</code> if not specified.
-	 */
-	public Image getBackgroundImage() {
-		return head.getHeadingBackgroundImage();
-	}
-
-	/**
-	 * Sets the optional background image to be rendered behind the title
-	 * starting at the position 0,0. If the image is smaller than the container
-	 * in any dimension, it will be tiled.
-	 * 
-	 * @since 3.2
-	 * 
-	 * @param backgroundImage
-	 *            the head background image.
-	 * 
-	 */
-	public void setBackgroundImage(Image backgroundImage) {
-		head.setHeadingBackgroundImage(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 head.getToolBarManager();
-	}
-
-	/**
-	 * Sets the tool bar vertical alignment relative to the header. Can be
-	 * useful when there is more free space at the second row (with the head
-	 * client).
-	 * 
-	 * @param alignment
-	 *            SWT.TOP or SWT.BOTTOM
-	 * @since 3.3
-	 */
-
-	public void setToolBarVerticalAlignment(int alignment) {
-		head.setToolBarAlignment(alignment);
-	}
-
-	/**
-	 * Returns the current tool bar alignment (if used).
-	 * 
-	 * @return SWT.TOP or SWT.BOTTOM
-	 * @since 3.3
-	 */
-
-	public int getToolBarVerticalAlignment() {
-		return head.getToolBarAlignment();
-	}
-
-	/**
-	 * Returns the menu manager that is used to manage title area drop-down menu
-	 * items.
-	 * 
-	 * @return title area drop-down menu manager
-	 * @since 3.3
-	 */
-	public IMenuManager getMenuManager() {
-		return head.getMenuManager();
-	}
-
-	/**
-	 * Updates the local tool bar manager if used. Does nothing if local tool
-	 * bar manager has not been created yet.
-	 */
-	public void updateToolBar() {
-		head.updateToolBar();
-	}
-
-	/**
-	 * Returns the container that occupies the head of the form (the form area
-	 * above the body). Use this container as a parent for the head client.
-	 * 
-	 * @return the head of the form.
-	 * @since 3.2
-	 */
-	public Composite getHead() {
-		return head;
-	}
-
-	/**
-	 * Returns the optional head client if set.
-	 * 
-	 * @return the head client or <code>null</code> if not set.
-	 * @see #setHeadClient(Control)
-	 * @since 3.2
-	 */
-	public Control getHeadClient() {
-		return head.getHeadClient();
-	}
-
-	/**
-	 * Sets the optional head client. Head client is placed after the form
-	 * title. This option causes the tool bar to be placed in the second raw of
-	 * the header (below the head client).
-	 * <p>
-	 * The head client must be a child of the composite returned by
-	 * <code>getHead()</code> method.
-	 * 
-	 * @param headClient
-	 *            the optional child of the head
-	 * @since 3.2
-	 */
-	public void setHeadClient(Control headClient) {
-		head.setHeadClient(headClient);
-		layout();
-	}
-
-	/**
-	 * 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;
-	}
-
-	/**
-	 * Tests if the background image is tiled to cover the entire area of the
-	 * form heading.
-	 * 
-	 * @return <code>true</code> if heading background image is tiled,
-	 *         <code>false</code> otherwise.
-	 */
-	public boolean isBackgroundImageTiled() {
-		return head.isBackgroundImageTiled();
-	}
-
-	/**
-	 * Sets whether the header background image is repeated to cover the entire
-	 * heading area or not.
-	 * 
-	 * @param backgroundImageTiled
-	 *            set <code>true</code> to tile the image, or
-	 *            <code>false</code> to paint the background image only once
-	 *            at 0,0
-	 */
-	public void setBackgroundImageTiled(boolean backgroundImageTiled) {
-		head.setBackgroundImageTiled(backgroundImageTiled);
-	}
-
-	/**
-	 * Returns the background image alignment.
-	 * 
-	 * @deprecated due to the underlying widget limitations, background image is
-	 *             either painted at 0,0 and/or tiled.
-	 * @return SWT.LEFT
-	 */
-	public int getBackgroundImageAlignment() {
-		return SWT.LEFT;
-	}
-
-	/**
-	 * Sets the background image alignment.
-	 * 
-	 * @deprecated due to the underlying widget limitations, background image is
-	 *             always tiled and alignment cannot be controlled.
-	 * @param backgroundImageAlignment
-	 *            The backgroundImageAlignment to set.
-	 * @since 3.1
-	 */
-	public void setBackgroundImageAlignment(int backgroundImageAlignment) {
-	}
-
-	/**
-	 * Tests if background image is clipped.
-	 * 
-	 * @deprecated due to the underlying widget limitations, background image is
-	 *             always clipped.
-	 * @return true
-	 * @since 3.1
-	 */
-	public boolean isBackgroundImageClipped() {
-		return true;
-	}
-
-	/**
-	 * Sets whether the background image is clipped.
-	 * 
-	 * @deprecated due to the underlying widget limitations, background image is
-	 *             always clipped.
-	 * @param backgroundImageClipped
-	 *            the value to set
-	 * @since 3.1
-	 */
-	public void setBackgroundImageClipped(boolean backgroundImageClipped) {
-	}
-
-	/**
-	 * Tests if the form head separator is visible.
-	 * 
-	 * @return <code>true</code> if the head/body separator is visible,
-	 *         <code>false</code> otherwise
-	 * @since 3.2
-	 */
-	public boolean isSeparatorVisible() {
-		return head.isSeparatorVisible();
-	}
-
-	/**
-	 * If set, adds a separator between the head and body. Since 3.3, the colors
-	 * that are used to render it are {@link IFormColors#H_BOTTOM_KEYLINE1} and
-	 * {@link IFormColors#H_BOTTOM_KEYLINE2}.
-	 * 
-	 * @param addSeparator
-	 *            <code>true</code> to make the separator visible,
-	 *            <code>false</code> otherwise.
-	 * @since 3.2
-	 */
-	public void setSeparatorVisible(boolean addSeparator) {
-		head.setSeparatorVisible(addSeparator);
-	}
-
-	/**
-	 * Returns the color used to render the optional head separator. If gradient
-	 * text background is used additional colors from the gradient will be used
-	 * to render the separator.
-	 * 
-	 * @return separator color or <code>null</code> if not set.
-	 * @since 3.2
-	 * @deprecated use <code>getHeadColor(IFormColors.H_BOTTOM_KEYLINE2)</code>
-	 */
-
-	public Color getSeparatorColor() {
-		return head.getColor(IFormColors.H_BOTTOM_KEYLINE2);
-	}
-
-	/**
-	 * Sets the color to be used to render the optional head separator.
-	 * 
-	 * @param separatorColor
-	 *            the color to render the head separator or <code>null</code>
-	 *            to use the default color.
-	 * @since 3.2
-	 * @deprecated use
-	 *             <code>setHeadColor(IFormColors.H_BOTTOM_KEYLINE2, separatorColor)</code>
-	 */
-	public void setSeparatorColor(Color separatorColor) {
-		head.putColor(IFormColors.H_BOTTOM_KEYLINE2, separatorColor);
-	}
-
-	/**
-	 * Sets the color used to paint an aspect of the form heading.
-	 * 
-	 * @param key
-	 *            a valid form heading color key as defined in
-	 *            {@link IFormColors}. Relevant keys all start with an H_
-	 *            prefix.
-	 * @param color
-	 *            the color to use for the provided key
-	 * @since 3.3
-	 */
-
-	public void setHeadColor(String key, Color color) {
-		head.putColor(key, color);
-	}
-
-	/**
-	 * Returns the color that is currently use to paint an aspect of the form
-	 * heading, or <code>null</code> if not defined.
-	 * 
-	 * @param key
-	 *            the color key
-	 * @return the color object or <code>null</code> if not set.
-	 * @since 3.3
-	 */
-
-	public Color getHeadColor(String key) {
-		return head.getColor(key);
-	}
-
-	/**
-	 * Sets the message for this form. Message text is rendered in the form head
-	 * when shown.
-	 * 
-	 * @param message
-	 *            the message, or <code>null</code> to clear the message
-	 * @see #setMessage(String, int)
-	 * @since 3.2
-	 */
-	public void setMessage(String message) {
-		this.setMessage(message, 0, null);
-	}
-
-	/**
-	 * Sets the message for this form 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> defined in IMessageProvider interface.
-	 * </p>
-	 * 
-	 * @param newMessage
-	 *            the message, or <code>null</code> to clear the message
-	 * @param newType
-	 *            the message type
-	 * @see org.eclipse.jface.dialogs.IMessageProvider
-	 * @since 3.2
-	 */
-
-	public void setMessage(String newMessage, int newType) {
-		this.setMessage(newMessage, newType, null);
-	}
-
-	/**
-	 * Sets the message for this form 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> defined in IMessageProvider interface.
-	 * </p>
-	 * <p>
-	 * In addition to the summary message, this method also sets an array of
-	 * individual messages.
-	 * 
-	 * 
-	 * @param newMessage
-	 *            the message, or <code>null</code> to clear the message
-	 * @param newType
-	 *            the message type
-	 * @param children
-	 *            the individual messages that contributed to the overall
-	 *            message
-	 * @see org.eclipse.jface.dialogs.IMessageProvider
-	 * @since 3.3
-	 */
-
-	public void setMessage(String newMessage, int newType, IMessage[] children) {
-		head.showMessage(newMessage, newType, children);
-		layout();
-	}
-
-	/**
-	 * Adds a message hyperlink listener. If at least one listener is present,
-	 * messages will be rendered as hyperlinks.
-	 * 
-	 * @param listener
-	 * @see #removeMessageHyperlinkListener(IHyperlinkListener)
-	 * @since 3.3
-	 */
-	public void addMessageHyperlinkListener(IHyperlinkListener listener) {
-		head.addMessageHyperlinkListener(listener);
-	}
-
-	/**
-	 * Remove the message hyperlink listener.
-	 * 
-	 * @param listener
-	 * @see #addMessageHyperlinkListener(IHyperlinkListener)
-	 * @since 3.3
-	 */
-	public void removeMessageHyperlinkListener(IHyperlinkListener listener) {
-		head.removeMessageHyperlinkListener(listener);
-	}
-
-	/**
-	 * Tests if the form is in the 'busy' state. Busy form displays 'busy'
-	 * animation in the area of the title image.
-	 * 
-	 * @return <code>true</code> if busy, <code>false</code> otherwise.
-	 * @since 3.2
-	 */
-
-	public boolean isBusy() {
-		return head.isBusy();
-	}
-
-	/**
-	 * Sets the form's busy state. Busy form will display 'busy' animation in
-	 * the area of the title image.
-	 * 
-	 * @param busy
-	 *            the form's busy state
-	 * @since 3.2
-	 */
-
-	public void setBusy(boolean busy) {
-		head.setBusy(busy);
-	}
-
-	/**
-	 * Adds support for dragging items out of the form title area 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
-	 * @since 3.3
-	 */
-	public void addTitleDragSupport(int operations, Transfer[] transferTypes,
-			DragSourceListener listener) {
-		head.addDragSupport(operations, transferTypes, listener);
-	}
-
-	/**
-	 * Adds support for dropping items into the form title area 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
-	 * @since 3.3
-	 */
-	public void addTitleDropSupport(int operations, Transfer[] transferTypes,
-			DropTargetListener listener) {
-		head.addDropSupport(operations, transferTypes, listener);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.IMessageProvider#getMessage()
-	 */
-	public String getMessage() {
-		return head.getMessage();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.IMessageProvider#getMessageType()
-	 */
-	public int getMessageType() {
-		return head.getMessageType();
-	}
-
-	/**
-	 * Returns the children messages that the cause of the summary message
-	 * currently set on the form.
-	 * 
-	 * @return an array of children messages or <code>null</code> if not set.
-	 * @see #setMessage(String, int, IMessage[])
-	 * @since 3.3
-	 */
-	public IMessage[] getChildrenMessages() {
-		return head.getChildrenMessages();
-	}
-
-	void setSelectionText(FormText text) {
-		if (selectionText != null && selectionText != text) {
-			selectionText.clearSelection();
-		}
-		this.selectionText = text;
-	}
-}
\ 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 c207b6c..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormText.java
+++ /dev/null
@@ -1,1712 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.accessibility.Accessible;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlEvent;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.MenuEvent;
-import org.eclipse.swt.events.MenuListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.MouseTrackListener;
-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.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontMetrics;
-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.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.TypedListener;
-import org.eclipse.ui.forms.HyperlinkSettings;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.internal.forms.Messages;
-import org.eclipse.ui.internal.forms.widgets.ControlSegment;
-import org.eclipse.ui.internal.forms.widgets.FormTextModel;
-import org.eclipse.ui.internal.forms.widgets.FormUtil;
-import org.eclipse.ui.internal.forms.widgets.IFocusSelectable;
-import org.eclipse.ui.internal.forms.widgets.IHyperlinkSegment;
-import org.eclipse.ui.internal.forms.widgets.ImageSegment;
-import org.eclipse.ui.internal.forms.widgets.Locator;
-import org.eclipse.ui.internal.forms.widgets.Paragraph;
-import org.eclipse.ui.internal.forms.widgets.ParagraphSegment;
-import org.eclipse.ui.internal.forms.widgets.SelectionData;
-import org.eclipse.ui.internal.forms.widgets.TextSegment;
-
-/**
- * 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 that is 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 <code>Image</code> set using 'setImage' method. Vertical
- * position of image relative to surrounding text is optionally controlled by
- * the attribute <b>align</b> that can have values <b>top</b>, <b>middle</b>
- * and <b>bottom</b></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. Hyperlinks automatically created
- * when 'http://' is encountered in text are not 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. As with
- * hyperlinks, it is possible to block wrapping by setting 'nowrap' to true
- * (false by default).
- * </li>
- * <li><b>control (new in 3.1)</b> - to place a control that is a child of the
- * text control. Element accepts attribute 'href' that is a key to the Control
- * object set using 'setControl' method. Optionally, attribute 'fill' can be set
- * to <code>true</code> to make the control fill the entire width of the text.
- * Form text is not responsible for creating or disposing controls, it only
- * places them relative to the surrounding text. Similar to <b>img</b>,
- * vertical position of the control can be set using the <b>align</b>
- * attribute. In addition, <b>width</b> and <b>height</b> attributes can
- * be used to force the dimensions of the control. If not used,
- * the preferred control size will be used.
- * </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.
- * Since 3.1, an exception to this rule has been added to support nesting images
- * and text inside the hyperlink tag (<b>a</b>). Image enclosed in the
- * hyperlink tag acts as a hyperlink, can be clicked on and can accept and
- * render selection focus. When both text and image is enclosed, selection and
- * rendering will affect both as a single hyperlink.
- * </p>
- * <p>
- * Since 3.1, it is possible to select text. Text selection can be
- * programmatically accessed and also copied to clipboard. Non-textual objects
- * (images, controls etc.) in the selection range are ignored.
- * <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.
- * 
- * @see FormToolkit
- * @see TableWrapLayout
- * @since 3.0
- */
-public 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"; //$NON-NLS-1$
-
-	/**
-	 * Value of the horizontal margin (default is 0).
-	 */
-	public int marginWidth = 0;
-
-	/**
-	 * Value of tue vertical margin (default is 1).
-	 */
-	public int marginHeight = 1;
-
-	// private fields
-	//TODO We should remove the dependency on Platform
-	private static final boolean DEBUG_TEXT = false;//"true".equalsIgnoreCase(Platform.getDebugOption(FormUtil.DEBUG_TEXT));
-	private static final boolean DEBUG_TEXTSIZE = false;//"true".equalsIgnoreCase(Platform.getDebugOption(FormUtil.DEBUG_TEXTSIZE));
-
-	private static final boolean DEBUG_FOCUS = false;//"true".equalsIgnoreCase(Platform.getDebugOption(FormUtil.DEBUG_FOCUS));	
-
-	private boolean hasFocus;
-
-	private boolean paragraphsSeparated = true;
-
-	private FormTextModel model;
-
-	private ListenerList listeners;
-
-	private Hashtable resourceTable = new Hashtable();
-
-	private IHyperlinkSegment entered;
-
-	private IHyperlinkSegment armed;
-
-	private boolean mouseFocus = false;
-
-	private boolean controlFocusTransfer = false;
-
-	private boolean inSelection = false;
-
-	private SelectionData selData;
-
-	private static final String INTERNAL_MENU = "__internal_menu__"; //$NON-NLS-1$
-
-	private static final String CONTROL_KEY = "__segment__"; //$NON-NLS-1$
-
-	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) {
-			long start = 0;
-
-			if (DEBUG_TEXT)
-				start = System.currentTimeMillis();
-			int innerWidth = wHint;
-			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);
-			if (DEBUG_TEXT) {
-				long stop = System.currentTimeMillis();
-				System.out.println("FormText computeSize: " + (stop - start) //$NON-NLS-1$
-						+ "ms"); //$NON-NLS-1$
-			}
-			if (DEBUG_TEXTSIZE) {
-				System.out.println("FormText ("+model.getAccessibleText()+"), computeSize: wHint="+wHint+", result="+result); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			return result;
-		}
-
-		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();
-			boolean selectableInTheLastRow = false;
-			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) {
-					selectableInTheLastRow = false;
-					int pwidth = 0;
-					for (int j = 0; j < segments.length; j++) {
-						ParagraphSegment segment = segments[j];
-						segment.advanceLocator(gc, wHint, loc, resourceTable,
-								false);
-						if (wHint != SWT.DEFAULT) {
-							width = Math.max(width, loc.width);
-						} else {
-							pwidth += loc.width;
-						}
-						if (segment instanceof IFocusSelectable)
-							selectableInTheLastRow = true;
-					}
-					if (wHint == SWT.DEFAULT)
-						width = Math.max(width, pwidth);
-					loc.y += loc.rowHeight;
-				} else {
-					// empty new line
-					loc.y += lineHeight;
-				}
-			}
-			gc.dispose();
-			if (selectableInTheLastRow)
-				loc.y += 1;
-			return new Point(width, loc.y);
-		}
-
-		protected void layout(Composite composite, boolean flushCache) {
-			long start = 0;
-
-			if (DEBUG_TEXT) {
-				start = System.currentTimeMillis();
-			}
-			selData = null;
-			Rectangle carea = composite.getClientArea();
-			if (DEBUG_TEXTSIZE) {
-				System.out.println("FormText layout ("+model.getAccessibleText()+"), carea="+carea); //$NON-NLS-1$ //$NON-NLS-2$
-			}			
-			GC gc = new GC(composite);
-			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();
-
-			Paragraph[] paragraphs = model.getParagraphs();
-			IHyperlinkSegment selectedLink = 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.layout(gc, carea.width, loc, lineHeight, resourceTable,
-						selectedLink);
-			}
-			gc.dispose();
-			if (DEBUG_TEXT) {
-				long stop = System.currentTimeMillis();
-				System.out.println("FormText.layout: " + (stop - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-
-	/**
-	 * 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();
-				disposeResourceTable(true);
-			}
-		});
-		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) {
-				if (DEBUG_FOCUS)
-					System.out.println("Traversal: " + e); //$NON-NLS-1$
-				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;
-					if (DEBUG_FOCUS) {
-						System.out.println("FormText: focus gained"); //$NON-NLS-1$
-					}
-					if (!mouseFocus && !controlFocusTransfer) {
-						handleFocusChange();
-					}
-				}
-			}
-
-			public void focusLost(FocusEvent e) {
-				if (DEBUG_FOCUS) {
-					System.out.println("FormText: focus lost"); //$NON-NLS-1$
-				}
-				if (hasFocus) {
-					hasFocus = false;
-					if (!controlFocusTransfer)
-						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();
-		ensureBoldFontPresent(getFont());
-		createMenu();
-		// we will handle traversal of controls, if any
-		setTabList(new Control[] {});
-	}
-
-	/**
-	 * 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.
-	 * @deprecated not used any more - returns <code>false</code>
-	 */
-	public boolean isLoading() {
-		return false;
-	}
-
-	/**
-	 * Returns the text that will be shown in the control while the real content
-	 * is loading.
-	 * 
-	 * @return loading text message
-	 * @deprecated loading text is not used since 3.1
-	 */
-	public String getLoadingText() {
-		return null;
-	}
-
-	/**
-	 * 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
-	 * @deprecated use setText(loadingText, false, false);
-	 */
-	public void setLoadingText(String loadingText) {
-		setText(loadingText, false, false);
-	}
-
-	/**
-	 * 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); //$NON-NLS-1$
-	}
-
-	/**
-	 * 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 the type <samp>Color </samp> or <samp>null</samp>
-	 *            if the key needs to be cleared.
-	 */
-	public void setColor(String key, Color color) {
-		String fullKey = "c." + key; //$NON-NLS-1$
-		if (color == null)
-			resourceTable.remove(fullKey);
-		else
-			resourceTable.put(fullKey, 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 the type <samp>Font </samp> or <samp>null</samp>
-	 *            if the key needs to be cleared.
-	 */
-	public void setFont(String key, Font font) {
-		String fullKey = "f." + key; //$NON-NLS-1$
-		if (font == null)
-			resourceTable.remove(fullKey);
-		else
-			resourceTable.put(fullKey, font);
-		model.clearCache(fullKey);
-	}
-
-	/**
-	 * Registers the control referenced by the provided key.
-	 * <p>
-	 * For <samp>control</samp> tags, an object of a type <samp>Control</samp>
-	 * must be registered using the key equivalent to the value of the
-	 * <samp>control</samp> attribute.
-	 * 
-	 * @param key
-	 *            unique key that matches the value of the <samp>control</samp>
-	 *            attribute.
-	 * @param control
-	 *            an object of the type <samp>Control</samp> or <samp>null</samp>
-	 *            if the existing control at the specified key needs to be
-	 *            removed.
-	 * @since 3.1
-	 */
-	public void setControl(String key, Control control) {
-		String fullKey = "o." + key; //$NON-NLS-1$
-		if (control == null)
-			resourceTable.remove(fullKey);
-		else
-			resourceTable.put(fullKey, control);
-	}
-
-	/**
-	 * 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);
-		model.clearCache(null);
-		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) {
-		disposeResourceTable(false);
-		entered = null;
-		if (parseTags)
-			model.parseTaggedText(text, expandURLs);
-		else
-			model.parseRegularText(text, expandURLs);
-		hookControlSegmentFocus();
-		layout();
-		redraw();
-	}
-
-	/**
-	 * 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) {
-		entered = null;
-		disposeResourceTable(false);
-		model.parseInputStream(is, expandURLs);
-		hookControlSegmentFocus();
-		layout();
-		redraw();
-	}
-
-	private void hookControlSegmentFocus() {
-		Paragraph[] paragraphs = model.getParagraphs();
-		if (paragraphs == null)
-			return;
-		Listener listener = new Listener() {
-			public void handleEvent(Event e) {
-				switch (e.type) {
-				case SWT.FocusIn:
-					if (!controlFocusTransfer)
-						syncControlSegmentFocus((Control) e.widget);
-					break;
-				case SWT.Traverse:
-					if (DEBUG_FOCUS)
-						System.out.println("Control traversal: " + e); //$NON-NLS-1$
-					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;
-					}
-					Control c = (Control) e.widget;
-					ControlSegment segment = (ControlSegment) c
-							.getData(CONTROL_KEY);
-					if (e.detail == SWT.TRAVERSE_TAB_NEXT)
-						e.doit = advanceControl(c, segment, true);
-					else if (e.detail == SWT.TRAVERSE_TAB_PREVIOUS)
-						e.doit = advanceControl(c, segment, false);
-					if (!e.doit)
-						e.detail = SWT.TRAVERSE_NONE;
-					break;
-				}
-			}
-		};
-		for (int i = 0; i < paragraphs.length; i++) {
-			Paragraph p = paragraphs[i];
-			ParagraphSegment[] segments = p.getSegments();
-			for (int j = 0; j < segments.length; j++) {
-				if (segments[j] instanceof ControlSegment) {
-					ControlSegment cs = (ControlSegment) segments[j];
-					Control c = cs.getControl(resourceTable);
-					if (c != null) {
-						if (c.getData(CONTROL_KEY) == null) {
-							// first time - hook
-							c.setData(CONTROL_KEY, cs);
-							attachTraverseListener(c, listener);
-						}
-					}
-				}
-			}
-		}
-	}
-
-	private void attachTraverseListener(Control c, Listener listener) {
-		if (c instanceof Composite) {
-			Composite parent = (Composite) c;
-			Control[] children = parent.getChildren();
-			for (int i = 0; i < children.length; i++) {
-				attachTraverseListener(children[i], listener);
-			}
-			if (c instanceof Canvas) {
-				// If Canvas, the control iteself can accept
-				// traverse events and should be monitored
-				c.addListener(SWT.Traverse, listener);
-				c.addListener(SWT.FocusIn, listener);
-			}
-		} else {
-			c.addListener(SWT.Traverse, listener);
-			c.addListener(SWT.FocusIn, listener);
-		}
-	}
-
-	/**
-	 * If we click on the control randomly, our internal book-keeping will be
-	 * off. We need to update the model and mark the control segment and
-	 * currently selected. Hyperlink that may have had focus must also be
-	 * exited.
-	 * 
-	 * @param control
-	 *            the control that got focus
-	 */
-	private void syncControlSegmentFocus(Control control) {
-		ControlSegment cs = null;
-
-		while (control != null) {
-			cs = (ControlSegment) control.getData(CONTROL_KEY);
-			if (cs != null)
-				break;
-			control = control.getParent();
-		}
-		if (cs == null)
-			return;
-		IFocusSelectable current = model.getSelectedSegment();
-		// If the model and the control match, all is well
-		if (current == cs)
-			return;
-		IHyperlinkSegment oldLink = null;
-		if (current != null && current instanceof IHyperlinkSegment) {
-			oldLink = (IHyperlinkSegment) current;
-			exitLink(oldLink, SWT.NULL);
-		}
-		if (DEBUG_FOCUS)
-			System.out.println("Sync control: " + cs + ", oldLink=" + oldLink); //$NON-NLS-1$ //$NON-NLS-2$
-		model.select(cs);
-		if (oldLink != null)
-			paintFocusTransfer(oldLink, null);
-		// getAccessible().setFocus(model.getSelectedSegmentIndex());
-	}
-
-	private boolean advanceControl(Control c, ControlSegment segment,
-			boolean next) {
-		Composite parent = c.getParent();
-		if (parent == this) {
-			// segment-level control
-			IFocusSelectable nextSegment = model.getNextFocusSegment(next);
-			if (nextSegment != null) {
-				controlFocusTransfer = true;
-				super.forceFocus();
-				controlFocusTransfer = false;
-				model.select(segment);
-				return advance(next);
-			}
-			// nowhere to go
-			return setFocusToNextSibling(this, next);
-		}
-		if (setFocusToNextSibling(c, next))
-			return true;
-		// still here - must go one level up
-		segment = (ControlSegment) parent.getData(CONTROL_KEY);
-		return advanceControl(parent, segment, next);
-	}
-
-	private boolean setFocusToNextSibling(Control c, boolean next) {
-		Composite parent = c.getParent();
-		Control[] children = parent.getTabList();
-		for (int i = 0; i < children.length; i++) {
-			Control child = children[i];
-			if (child == c) {
-				// here
-				if (next) {
-					for (int j = i + 1; j < children.length; j++) {
-						Control nc = children[j];
-						if (nc.setFocus())
-							return false;
-					}
-				} else {
-					for (int j = i - 1; j >= 0; j--) {
-						Control pc = children[j];
-						if (pc.setFocus())
-							return false;
-					}
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Controls whether whitespace inside paragraph and list items is
-	 * normalized. Note that the new value will not affect the current text in
-	 * the control, only subsequent calls to <code>setText</code> or
-	 * <code>setContents</code>.
-	 * <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();
-	}
-
-	/**
-	 * Disposes the internal menu if created and sets the menu provided as a
-	 * parameter.
-	 * 
-	 * @param menu
-	 *            the menu to associate with this text control
-	 */
-	public void setMenu(Menu menu) {
-		Menu currentMenu = super.getMenu();
-		if (currentMenu != null && INTERNAL_MENU.equals(currentMenu.getData())) {
-			// internal menu set
-			if (menu != null) {
-				currentMenu.dispose();
-				super.setMenu(menu);
-			}
-		} else
-			super.setMenu(menu);
-	}
-
-	private void createMenu() {
-		Menu menu = new Menu(this);
-		final MenuItem copyItem = new MenuItem(menu, SWT.PUSH);
-		copyItem.setText(Messages.FormText_copy);
-
-		SelectionListener listener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (e.widget == copyItem) {
-					copy();
-				}
-			}
-		};
-		copyItem.addSelectionListener(listener);
-		menu.addMenuListener(new MenuListener() {
-			public void menuShown(MenuEvent e) {
-				copyItem.setEnabled(canCopy());
-			}
-
-			public void menuHidden(MenuEvent e) {
-			}
-		});
-		menu.setData(INTERNAL_MENU);
-		super.setMenu(menu);
-	}
-
-	/**
-	 * 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 ListenerList();
-		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);
-	}
-
-	/**
-	 * Adds a selection listener. A Selection event is sent by the widget when
-	 * the selection has changed.
-	 * <p>
-	 * <code>widgetDefaultSelected</code> is not called for FormText.
-	 * </p>
-	 * 
-	 * @param listener
-	 *            the listener
-	 * @exception SWTException
-	 *                <ul>
-	 *                <li>ERROR_WIDGET_DISPOSED - if the receiver has been
-	 *                disposed</li>
-	 *                <li>ERROR_THREAD_INVALID_ACCESS - if not called from the
-	 *                thread that created the receiver</li>
-	 *                </ul>
-	 * @exception IllegalArgumentException
-	 *                <ul>
-	 *                <li>ERROR_NULL_ARGUMENT when listener is null</li>
-	 *                </ul>
-	 * @since 3.1
-	 */
-	public void addSelectionListener(SelectionListener listener) {
-		checkWidget();
-		if (listener == null) {
-			SWT.error(SWT.ERROR_NULL_ARGUMENT);
-		}
-		TypedListener typedListener = new TypedListener(listener);
-		addListener(SWT.Selection, typedListener);
-	}
-
-	/**
-	 * Removes the specified selection listener.
-	 * <p>
-	 * 
-	 * @param listener
-	 *            the listener
-	 * @exception SWTException
-	 *                <ul>
-	 *                <li>ERROR_WIDGET_DISPOSED - if the receiver has been
-	 *                disposed</li>
-	 *                <li>ERROR_THREAD_INVALID_ACCESS - if not called from the
-	 *                thread that created the receiver</li>
-	 *                </ul>
-	 * @exception IllegalArgumentException
-	 *                <ul>
-	 *                <li>ERROR_NULL_ARGUMENT when listener is null</li>
-	 *                </ul>
-	 * @since 3.1
-	 */
-	public void removeSelectionListener(SelectionListener listener) {
-		checkWidget();
-		if (listener == null) {
-			SWT.error(SWT.ERROR_NULL_ARGUMENT);
-		}
-		removeListener(SWT.Selection, listener);
-	}
-
-	/**
-	 * Returns the selected text.
-	 * <p>
-	 * 
-	 * @return selected text, or an empty String if there is no selection.
-	 * @exception SWTException
-	 *                <ul>
-	 *                <li>ERROR_WIDGET_DISPOSED - if the receiver has been
-	 *                disposed</li>
-	 *                <li>ERROR_THREAD_INVALID_ACCESS - if not called from the
-	 *                thread that created the receiver</li>
-	 *                </ul>
-	 * @since 3.1
-	 */
-
-	public String getSelectionText() {
-		checkWidget();
-		if (selData != null)
-			return selData.getSelectionText();
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * Tests if the text is selected and can be copied into the clipboard.
-	 * 
-	 * @return <code>true</code> if the selected text can be copied into the
-	 *         clipboard, <code>false</code> otherwise.
-	 * @since 3.1
-	 */
-	public boolean canCopy() {
-		return selData != null && selData.canCopy();
-	}
-
-	/**
-	 * Copies the selected text into the clipboard. Does nothing if no text is
-	 * selected or the text cannot be copied for any other reason.
-	 * 
-	 * @since 3.1
-	 */
-
-	public void copy() {
-		if (!canCopy())
-			return;
-		Clipboard clipboard = new Clipboard(getDisplay());
-		Object[] o = new Object[] { getSelectionText() };
-		Transfer[] t = new Transfer[] { TextTransfer.getInstance() };
-		clipboard.setContents(o, t);
-		clipboard.dispose();
-	}
-
-	/**
-	 * Returns the reference of the hyperlink that currently has keyboard focus,
-	 * or <code>null</code> if there are no hyperlinks in the receiver or no
-	 * hyperlink has focus at the moment.
-	 * 
-	 * @return href of the selected hyperlink or <code>null</code> if none
-	 *         selected.
-	 * @since 3.1
-	 */
-	public Object getSelectedLinkHref() {
-		IHyperlinkSegment link = getSelectedLink();
-		return link != null ? link.getHref() : null;
-	}
-
-	/**
-	 * Returns the text of the hyperlink that currently has keyboard focus, or
-	 * <code>null</code> if there are no hyperlinks in the receiver or no
-	 * hyperlink has focus at the moment.
-	 * 
-	 * @return text of the selected hyperlink or <code>null</code> if none
-	 *         selected.
-	 * @since 3.1
-	 */
-	public String getSelectedLinkText() {
-		IHyperlinkSegment link = getSelectedLink();
-		return link != null ? link.getText() : null;
-	}
-
-	private IHyperlinkSegment getSelectedLink() {
-		IFocusSelectable segment = model.getSelectedSegment();
-		if (segment != null && segment instanceof IHyperlinkSegment)
-			return (IHyperlinkSegment) segment;
-		return null;
-	}
-
-	private void initAccessible() {
-		Accessible accessible = getAccessible();
-		accessible.addAccessibleListener(new AccessibleAdapter() {
-			public void getName(AccessibleEvent e) {
-				if (e.childID == ACC.CHILDID_SELF)
-					e.result = model.getAccessibleText();
-				else {
-					int linkCount = model.getHyperlinkCount();
-					if (e.childID >= 0 && e.childID < linkCount) {
-						IHyperlinkSegment link = model.getHyperlink(e.childID);
-						e.result = link.getText();
-					}
-				}
-			}
-
-			public void getHelp(AccessibleEvent e) {
-				e.result = getToolTipText();
-				int linkCount = model.getHyperlinkCount();
-				if (e.result == null && e.childID >= 0 && e.childID < linkCount) {
-					IHyperlinkSegment link = model.getHyperlink(e.childID);
-					e.result = link.getText();
-				}
-			}
-		});
-		accessible.addAccessibleControlListener(new AccessibleControlAdapter() {
-			public void getChildAtPoint(AccessibleControlEvent e) {
-				Point pt = toControl(new Point(e.x, e.y));
-				IHyperlinkSegment link = model.findHyperlinkAt(pt.x, pt.y);
-				if (link != null)
-					e.childID = model.indexOf(link);
-				else
-					e.childID = ACC.CHILDID_SELF;
-			}
-
-			public void getLocation(AccessibleControlEvent e) {
-				Rectangle location = null;
-				if (e.childID != ACC.CHILDID_SELF
-						&& e.childID != ACC.CHILDID_NONE) {
-					int index = e.childID;
-					IHyperlinkSegment link = model.getHyperlink(index);
-					if (link != null) {
-						location = link.getBounds();
-					}
-				}
-				if (location == null) {
-					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 getFocus(AccessibleControlEvent e) {
-				int childID = ACC.CHILDID_NONE;
-
-				if (isFocusControl()) {
-					int selectedIndex = model.getSelectedSegmentIndex();
-					if (selectedIndex == -1) {
-						childID = ACC.CHILDID_SELF;
-					} else {
-						childID = selectedIndex;
-					}
-				}
-				e.childID = childID;
-			}
-			
-			public void getDefaultAction (AccessibleControlEvent e) {
-				if (model.getHyperlinkCount() > 0) {
-				    e.result = SWT.getMessage ("SWT_Press"); //$NON-NLS-1$
-				} 
-			}
-
-			public void getChildCount(AccessibleControlEvent e) {
-				e.detail = model.getHyperlinkCount();
-			}
-
-			public void getRole(AccessibleControlEvent e) {
-				int role = 0;
-				int childID = e.childID;
-				int linkCount = model.getHyperlinkCount();
-				if (childID == ACC.CHILDID_SELF) { 
-					if (linkCount > 0) {
-					    role = ACC.ROLE_LINK;
-					} else {
-						role = ACC.ROLE_TEXT;
-					}
-				} else if (childID >= 0 && childID < linkCount) {
-					role = ACC.ROLE_LINK;
-				}
-				e.detail = role;
-			}
-
-			public void getSelection(AccessibleControlEvent e) {
-				int selectedIndex = model.getSelectedSegmentIndex();
-				e.childID = (selectedIndex == -1) ? ACC.CHILDID_NONE
-						: selectedIndex;
-			}
-
-			public void getState(AccessibleControlEvent e) {
-				int linkCount = model.getHyperlinkCount();
-				int selectedIndex = model.getSelectedSegmentIndex();
-				int state = 0;
-				int childID = e.childID;
-				if (childID == ACC.CHILDID_SELF) {
-					state = ACC.STATE_NORMAL;
-				} else if (childID >= 0 && childID < linkCount) {
-					state = ACC.STATE_SELECTABLE;
-					if (isFocusControl()) {
-						state |= ACC.STATE_FOCUSABLE;
-					}
-					if (selectedIndex == childID) {
-						state |= ACC.STATE_SELECTED;
-						if (isFocusControl()) {
-							state |= ACC.STATE_FOCUSED;
-						}
-					}
-				}
-				state |= ACC.STATE_READONLY;
-				e.detail = state;
-			}
-
-			public void getChildren(AccessibleControlEvent e) {
-				int linkCount = model.getHyperlinkCount();
-				Object[] children = new Object[linkCount];
-				for (int i = 0; i < linkCount; i++) {
-					children[i] = new Integer(i);
-				}
-				e.children = children;
-			}
-
-			public void getValue(AccessibleControlEvent e) {
-				// e.result = model.getAccessibleText();
-			}
-		});
-	}
-
-	private void startSelection(MouseEvent e) {
-		inSelection = true;
-		selData = new SelectionData(e);
-		redraw();
-		Form form = FormUtil.getForm(this);
-		if (form != null)
-			form.setSelectionText(this);
-	}
-
-	private void endSelection(MouseEvent e) {
-		inSelection = false;
-		if (selData != null) {
-			if (!selData.isEnclosed())
-				selData = null;
-			else
-				computeSelection();
-		}
-		notifySelectionChanged();
-	}
-
-	private void computeSelection() {
-		GC gc = new GC(this);
-		Paragraph[] paragraphs = model.getParagraphs();
-		IHyperlinkSegment selectedLink = getSelectedLink();
-		if (getDisplay().getFocusControl() != this)
-			selectedLink = null;
-		for (int i = 0; i < paragraphs.length; i++) {
-			Paragraph p = paragraphs[i];
-			if (i > 0)
-				selData.markNewLine();
-			p.computeSelection(gc, resourceTable, selectedLink, selData);
-		}
-		gc.dispose();
-	}
-
-	void clearSelection() {
-		selData = null;
-		if (!isDisposed()) {
-			redraw();
-			notifySelectionChanged();
-		}
-	}
-
-	private void notifySelectionChanged() {
-		Event event = new Event();
-		event.widget = this;
-		event.display = this.getDisplay();
-		event.type = SWT.Selection;
-		notifyListeners(SWT.Selection, event);
-		getAccessible().selectionChanged();
-	}
-
-	private void handleDrag(MouseEvent e) {
-		if (selData != null) {
-			ScrolledComposite scomp = FormUtil.getScrolledComposite(this);
-			if (scomp != null) {
-				FormUtil.ensureVisible(scomp, this, e);
-			}
-			selData.update(e);
-			redraw();
-		}
-	}
-
-	private void handleMouseClick(MouseEvent e, boolean down) {
-		if (DEBUG_FOCUS)
-			System.out.println("FormText: mouse click(" + down + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-		if (down) {
-			// select a hyperlink
-			mouseFocus = true;
-			IHyperlinkSegment segmentUnder = model.findHyperlinkAt(e.x, e.y);
-			if (segmentUnder != null) {
-				IHyperlinkSegment oldLink = getSelectedLink();
-				if (getDisplay().getFocusControl() != this) {
-					setFocus();
-				}
-				model.selectLink(segmentUnder);
-				enterLink(segmentUnder, e.stateMask);
-				paintFocusTransfer(oldLink, segmentUnder);
-			}
-			if (e.button == 1) {
-				startSelection(e);
-				armed = segmentUnder;
-			}
-			else {
-			}
-		} else {
-			if (e.button == 1) {
-				endSelection(e);
-				IHyperlinkSegment segmentUnder = model
-						.findHyperlinkAt(e.x, e.y);
-				if (segmentUnder != null && armed == segmentUnder && selData == null) {
-					activateLink(segmentUnder, e.stateMask);
-					armed = null;
-				}
-			}
-			mouseFocus = false;
-		}
-	}
-
-	private void handleMouseHover(MouseEvent e) {
-	}
-
-	private void updateTooltipText(ParagraphSegment segment) {
-		String tooltipText = null;
-		if (segment != null) {
-			tooltipText = segment.getTooltipText();
-		}
-		String currentTooltipText = getToolTipText();
-
-		if ((currentTooltipText != null && tooltipText == null)
-				|| (currentTooltipText == null && tooltipText != null))
-			setToolTipText(tooltipText);
-	}
-
-	private void handleMouseMove(MouseEvent e) {
-		if (inSelection) {
-			handleDrag(e);
-			return;
-		}
-		ParagraphSegment segmentUnder = model.findSegmentAt(e.x, e.y);
-		updateTooltipText(segmentUnder);
-		if (segmentUnder == null) {
-			if (entered != null) {
-				exitLink(entered, e.stateMask);
-				paintLinkHover(entered, false);
-				entered = null;
-			}
-			setCursor(null);
-		} else {
-			if (segmentUnder instanceof IHyperlinkSegment) {
-				IHyperlinkSegment linkUnder = (IHyperlinkSegment) segmentUnder;
-				if (entered!=null && linkUnder!=entered) {
-					// Special case: links are so close that there are 0 pixels between.
-					// Must exit the link before entering the next one.
-					exitLink(entered, e.stateMask);
-					paintLinkHover(entered, false);
-					entered = null;
-				}
-				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;
-				}
-				if (segmentUnder instanceof TextSegment)
-					setCursor(model.getHyperlinkSettings().getTextCursor());
-				else
-					setCursor(null);
-			}
-		}
-	}
-
-	private boolean advance(boolean next) {
-		if (DEBUG_FOCUS)
-			System.out.println("Advance: next=" + next); //$NON-NLS-1$
-		IFocusSelectable current = model.getSelectedSegment();
-		if (current != null && current instanceof IHyperlinkSegment)
-			exitLink((IHyperlinkSegment) current, SWT.NULL);
-		IFocusSelectable newSegment = null;
-		boolean valid = false;
-		// get the next segment that can accept focus. Links
-		// can always accept focus but controls may not
-		while (!valid) {
-			if (!model.traverseFocusSelectableObjects(next))
-				break;
-			newSegment = model.getSelectedSegment();
-			if (newSegment == null)
-				break;
-			valid = setControlFocus(next, newSegment);
-		}
-		IHyperlinkSegment newLink = newSegment instanceof IHyperlinkSegment ? (IHyperlinkSegment) newSegment
-				: null;
-		if (valid)
-			enterLink(newLink, SWT.NULL);
-		IHyperlinkSegment oldLink = current instanceof IHyperlinkSegment ? (IHyperlinkSegment) current
-				: null;
-		if (oldLink != null || newLink != null)
-			paintFocusTransfer(oldLink, newLink);
-		if (newLink != null)
-			ensureVisible(newLink);
-		if (newLink != null)
-			getAccessible().setFocus(model.getSelectedSegmentIndex());
-		return !valid;
-	}
-
-	private boolean setControlFocus(boolean next, IFocusSelectable selectable) {
-		controlFocusTransfer = true;
-		boolean result = selectable.setFocus(resourceTable, next);
-		controlFocusTransfer = false;
-		return result;
-	}
-
-	private void handleFocusChange() {
-		if (DEBUG_FOCUS) {
-			System.out.println("Handle focus change: hasFocus=" + hasFocus //$NON-NLS-1$
-					+ ", mouseFocus=" + mouseFocus); //$NON-NLS-1$
-		}
-		if (hasFocus) {
-			boolean advance = true;
-			if (!mouseFocus) {
-				// if (model.restoreSavedLink() == false)
-				boolean valid = false;
-				IFocusSelectable selectable = null;
-				while (!valid) {
-					if (!model.traverseFocusSelectableObjects(advance))
-						break;
-					selectable = model.getSelectedSegment();
-					if (selectable == null)
-						break;
-					valid = setControlFocus(advance, selectable);
-				}
-				if (selectable != null)
-					ensureVisible(selectable);
-				if (selectable instanceof IHyperlinkSegment) {
-					enterLink((IHyperlinkSegment) selectable, SWT.NULL);
-					paintFocusTransfer(null, (IHyperlinkSegment) selectable);
-				}
-			}
-		} else {
-			paintFocusTransfer(getSelectedLink(), null);
-			model.selectLink(null);
-		}
-	}
-
-	private void enterLink(IHyperlinkSegment link, int stateMask) {
-		if (link == null || listeners == null)
-			return;
-		int size = listeners.size();
-		HyperlinkEvent he = new HyperlinkEvent(this, link.getHref(), link
-				.getText(), stateMask);
-		Object [] listenerList = listeners.getListeners();
-		for (int i = 0; i < size; i++) {
-			IHyperlinkListener listener = (IHyperlinkListener) listenerList[i];
-			listener.linkEntered(he);
-		}
-	}
-
-	private void exitLink(IHyperlinkSegment link, int stateMask) {
-		if (link == null || listeners == null)
-			return;
-		int size = listeners.size();
-		HyperlinkEvent he = new HyperlinkEvent(this, link.getHref(), link
-				.getText(), stateMask);
-		Object [] listenerList = listeners.getListeners();
-		for (int i = 0; i < size; i++) {
-			IHyperlinkListener listener = (IHyperlinkListener) listenerList[i];
-			listener.linkExited(he);
-		}
-	}
-
-	private void paintLinkHover(IHyperlinkSegment link, boolean hover) {
-		GC gc = new GC(this);
-		HyperlinkSettings settings = getHyperlinkSettings();
-		Color newFg = hover ? settings.getActiveForeground() : settings
-				.getForeground();
-		if (newFg != null)
-			gc.setForeground(newFg);
-		gc.setBackground(getBackground());
-		gc.setFont(getFont());
-		boolean selected = (link == getSelectedLink());
-		((ParagraphSegment) link).paint(gc, hover, resourceTable, selected,
-				selData, null);
-		gc.dispose();
-	}
-
-	private void activateSelectedLink() {
-		IHyperlinkSegment link = getSelectedLink();
-		if (link != null)
-			activateLink(link, SWT.NULL);
-	}
-
-	private void activateLink(IHyperlinkSegment link, int stateMask) {
-		setCursor(model.getHyperlinkSettings().getBusyCursor());
-		if (listeners != null) {
-			int size = listeners.size();
-			HyperlinkEvent e = new HyperlinkEvent(this, link.getHref(), link
-					.getText(), stateMask);
-			Object [] listenerList = listeners.getListeners();
-			for (int i = 0; i < size; i++) {
-				IHyperlinkListener listener = (IHyperlinkListener) listenerList[i];
-				listener.linkActivated(e);
-			}
-		}
-		if (!isDisposed() && model.linkExists(link)) {
-			setCursor(model.getHyperlinkSettings().getHyperlinkCursor());
-		}
-	}
-
-	private void ensureBoldFontPresent(Font regularFont) {
-		Font boldFont = (Font) resourceTable.get(FormTextModel.BOLD_FONT_ID);
-		if (boldFont != null)
-			return;
-		boldFont = FormUtil.createBoldFont(getDisplay(), regularFont);
-		resourceTable.put(FormTextModel.BOLD_FONT_ID, boldFont);
-	}
-
-	private void paint(PaintEvent e) {
-		GC gc = e.gc;
-		gc.setFont(getFont());
-		ensureBoldFontPresent(getFont());
-		gc.setForeground(getForeground());
-		gc.setBackground(getBackground());
-		repaint(gc, e.x, e.y, e.width, e.height);
-	}
-
-	private void repaint(GC gc, int x, int y, int width, int height) {
-		Image textBuffer = new Image(getDisplay(), width, height);
-		Color bg = getBackground();
-		Color fg = getForeground();
-		if (!getEnabled()) {
-			bg = getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-			fg = getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
-		}
-		GC textGC = new GC(textBuffer, gc.getStyle());
-		textGC.setForeground(fg);
-		textGC.setBackground(bg);
-		textGC.setFont(getFont());
-		textGC.fillRectangle(0, 0, width, height);
-		Rectangle repaintRegion = new Rectangle(x, y, width, height);
-
-		Paragraph[] paragraphs = model.getParagraphs();
-		IHyperlinkSegment selectedLink = getSelectedLink();
-		if (getDisplay().getFocusControl() != this)
-			selectedLink = null;
-		for (int i = 0; i < paragraphs.length; i++) {
-			Paragraph p = paragraphs[i];
-			p
-					.paint(textGC, repaintRegion, resourceTable, selectedLink,
-							selData);
-		}
-		textGC.dispose();
-		gc.drawImage(textBuffer, x, y);
-		textBuffer.dispose();
-	}
-
-	private int getParagraphSpacing(int lineHeight) {
-		return lineHeight / 2;
-	}
-
-	private void paintFocusTransfer(IHyperlinkSegment oldLink,
-			IHyperlinkSegment 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, null);
-		}
-		if (newLink != null) {
-			// ensureVisible(newLink);
-			gc.setBackground(bg);
-			gc.setForeground(fg);
-			newLink.paintFocus(gc, bg, fg, true, null);
-		}
-		gc.dispose();
-	}
-
-	private void ensureVisible(IFocusSelectable segment) {
-		if (mouseFocus) {
-			mouseFocus = false;
-			return;
-		}
-		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));
-	}
-
-	/**
-	 * Overrides the method by fully trusting the layout manager (computed width
-	 * or height may be larger than the provider width or height hints). Callers
-	 * should be prepared that the computed width is larger than the provided
-	 * wHint.
-	 * 
-	 * @see org.eclipse.swt.widgets.Composite#computeSize(int, int, boolean)
-	 */
-	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);
-		if (DEBUG_TEXTSIZE)
-			System.out.println("FormText Computed size: "+trim); //$NON-NLS-1$
-		return new Point(trim.width, trim.height);
-	}
-
-	private void disposeResourceTable(boolean disposeBoldFont) {
-		if (disposeBoldFont) {
-			Font boldFont = (Font) resourceTable
-					.get(FormTextModel.BOLD_FONT_ID);
-			if (boldFont != null) {
-				boldFont.dispose();
-				resourceTable.remove(FormTextModel.BOLD_FONT_ID);
-			}
-		}
-		ArrayList imagesToRemove = new ArrayList();
-		for (Enumeration enm = resourceTable.keys(); enm.hasMoreElements();) {
-			String key = (String) enm.nextElement();
-			if (key.startsWith(ImageSegment.SEL_IMAGE_PREFIX)) {
-				Object obj = resourceTable.get(key);
-				if (obj instanceof Image) {
-					Image image = (Image) obj;
-					if (!image.isDisposed()) {
-						image.dispose();
-						imagesToRemove.add(key);
-					}
-				}
-			}
-		}
-		for (int i = 0; i < imagesToRemove.size(); i++) {
-			resourceTable.remove(imagesToRemove.get(i));
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.widgets.Control#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enabled) {
-		super.setEnabled(enabled);
-		redraw();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Control#setFocus()
-	 */
-	public boolean setFocus() {
-		mouseFocus = true;
-		FormUtil.setFocusScrollingEnabled(this, false);
-		boolean result = super.setFocus();
-		mouseFocus = false;
-		FormUtil.setFocusScrollingEnabled(this, true);
-		return result;
-	}
-}
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 334dbf3..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormToolkit.java
+++ /dev/null
@@ -1,902 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Michael Williamson (eclipse-bugs@magnaworks.com) - patch (see Bugzilla #92545) 
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.ScrolledComposite;
-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.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.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.Listener;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.forms.HyperlinkGroup;
-import org.eclipse.ui.forms.IFormColors;
-import org.eclipse.ui.internal.forms.widgets.FormUtil;
-
-/**
- * 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()</code> 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"; //$NON-NLS-1$
-
-	public static final String TREE_BORDER = "treeBorder"; //$NON-NLS-1$
-
-	public static final String TEXT_BORDER = "textBorder"; //$NON-NLS-1$
-
-	private int borderStyle = SWT.NULL;
-
-	private FormColors colors;
-
-	private int orientation = Window.getDefaultOrientation();
-
-	// private KeyListener deleteListener;
-	private BorderPainter borderPainter;
-
-	private BoldFontHolder boldFontHolder;
-
-	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)
-						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());
-					gc.setForeground(colors.getBorderColor());
-					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) {
-					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);
-			}
-		}
-	}
-
-	private class BoldFontHolder {
-		private Font normalFont;
-
-		private Font boldFont;
-
-		public BoldFontHolder() {
-		}
-
-		public Font getBoldFont(Font font) {
-			createBoldFont(font);
-			return boldFont;
-		}
-
-		private void createBoldFont(Font font) {
-			if (normalFont == null || !normalFont.equals(font)) {
-				normalFont = font;
-				dispose();
-			}
-			if (boldFont == null) {
-				boldFont = FormUtil.createBoldFont(colors.getDisplay(),
-						normalFont);
-			}
-		}
-
-		public void dispose() {
-			if (boldFont != null) {
-				boldFont.dispose();
-				boldFont = null;
-			}
-		}
-	}
-
-	/**
-	 * 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 dispose the colors if and only if they are <b>not</b> marked as
-	 * shared via the <code>markShared()</code> method.
-	 * 
-	 * @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 | orientation);
-		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 | orientation);
-		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, orientation);
-		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(IFormColors.SEPARATOR));
-				if (colors.getBackground() != null)
-					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 | orientation);
-		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 | orientation);
-		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
-				| orientation);
-		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 | orientation);
-		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 (control instanceof ExpandableComposite) {
-			ExpandableComposite ec = (ExpandableComposite) control;
-			if (ec.toggle != null) {
-				if (trackFocus)
-					ec.toggle.addFocusListener(visibilityHandler);
-				if (trackKeyboard)
-					ec.toggle.addKeyListener(keyboardHandler);
-			}
-			if (ec.textLabel != null) {
-				if (trackFocus)
-					ec.textLabel.addFocusListener(visibilityHandler);
-				if (trackKeyboard)
-					ec.textLabel.addKeyListener(keyboardHandler);
-			}
-			return;
-		}
-		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 mouseDown(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, orientation, sectionStyle);
-		section.setMenu(parent.getMenu());
-		adapt(section, true, true);
-		if (section.toggle != null) {
-			section.toggle.setHoverDecorationColor(colors
-					.getColor(IFormColors.TB_TOGGLE_HOVER));
-			section.toggle.setDecorationColor(colors
-					.getColor(IFormColors.TB_TOGGLE));
-		}
-		section.setFont(boldFontHolder.getBoldFont(parent.getFont()));
-		if ((sectionStyle & Section.TITLE_BAR) != 0
-				|| (sectionStyle & Section.SHORT_TITLE_BAR) != 0) {
-			colors.initializeSectionToolBarColors();
-			section.setTitleBarBackground(colors.getColor(IFormColors.TB_BG));
-			section.setTitleBarBorderColor(colors
-					.getColor(IFormColors.TB_BORDER));
-			section.setTitleBarForeground(colors
-					.getColor(IFormColors.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, orientation,
-				expansionStyle);
-		ec.setMenu(parent.getMenu());
-		adapt(ec, true, true);
-		ec.setFont(boldFontHolder.getBoldFont(ec.getFont()));
-		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 | orientation);
-		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 | orientation);
-		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 style
-	 *            the text style
-	 * @return the text widget
-	 */
-	public Text createText(Composite parent, String value, int style) {
-		Text text = new Text(parent, borderStyle | style | orientation);
-		if (value != null)
-			text.setText(value);
-		text.setForeground(colors.getForeground());
-		text.setBackground(colors.getBackground());
-		text.addFocusListener(visibilityHandler);
-		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 | orientation);
-		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, SWT.V_SCROLL
-				| SWT.H_SCROLL | orientation);
-		form.setExpandHorizontal(true);
-		form.setExpandVertical(true);
-		form.setBackground(colors.getBackground());
-		form.setForeground(colors.getColor(IFormColors.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 parent
-	 *            the form parent
-	 * @return the form that does not scroll
-	 * @see #createScrolledForm
-	 */
-	public Form createForm(Composite parent) {
-		Form formContent = new Form(parent, orientation);
-		formContent.setBackground(colors.getBackground());
-		formContent.setForeground(colors.getColor(IFormColors.TITLE));
-		formContent.setFont(JFaceResources.getHeaderFont());
-		return formContent;
-	}
-
-	/**
-	 * Takes advantage of the gradients and other capabilities to decorate the
-	 * form heading using colors computed based on the current skin and
-	 * operating system.
-	 * 
-	 * @since 3.3
-	 * @param form
-	 *            the form to decorate
-	 */
-
-	public void decorateFormHeading(Form form) {
-		Color top = colors.getColor(IFormColors.H_GRADIENT_END);
-		Color bot = colors.getColor(IFormColors.H_GRADIENT_START);
-		form.setTextBackground(new Color[] { top, bot }, new int[] { 100 },
-				true);
-		form.setHeadColor(IFormColors.H_BOTTOM_KEYLINE1, colors
-				.getColor(IFormColors.H_BOTTOM_KEYLINE1));
-		form.setHeadColor(IFormColors.H_BOTTOM_KEYLINE2, colors
-				.getColor(IFormColors.H_BOTTOM_KEYLINE2));
-		form.setHeadColor(IFormColors.H_HOVER_LIGHT, colors
-				.getColor(IFormColors.H_HOVER_LIGHT));
-		form.setHeadColor(IFormColors.H_HOVER_FULL, colors
-				.getColor(IFormColors.H_HOVER_FULL));
-		form.setHeadColor(IFormColors.TB_TOGGLE, colors
-				.getColor(IFormColors.TB_TOGGLE));
-		form.setHeadColor(IFormColors.TB_TOGGLE_HOVER, colors
-				.getColor(IFormColors.TB_TOGGLE_HOVER));
-		form.setSeparatorVisible(true);
-	}
-
-	/**
-	 * Creates a scrolled page book widget as a part of the form.
-	 * 
-	 * @param parent
-	 *            the page book parent
-	 * @param style
-	 *            the text style
-	 * @return the scrolled page book widget
-	 */
-	public ScrolledPageBook createPageBook(Composite parent, int style) {
-		ScrolledPageBook book = new ScrolledPageBook(parent, style
-				| orientation);
-		adapt(book, true, true);
-		book.setMenu(parent.getMenu());
-		return book;
-	}
-
-	/**
-	 * Disposes the toolkit.
-	 */
-	public void dispose() {
-		if (colors.isShared() == false) {
-			colors.dispose();
-			colors = null;
-		}
-		boldFontHolder.dispose();
-	}
-
-	/**
-	 * 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;
-	}
-
-	/**
-	 * Returns the margin required around the children whose border is being
-	 * painted by the toolkit using {@link #paintBordersFor(Composite)}. Since
-	 * the border is painted around the controls on the parent, a number of
-	 * pixels needs to be reserved for this border. For windowing systems where
-	 * the native border is used, this margin is 0.
-	 * 
-	 * @return the margin in the parent when children have their border painted
-	 * @since 3.3
-	 */
-	public int getBorderMargin() {
-		return getBorderStyle() == SWT.BORDER ? 0 : 2;
-	}
-
-	/**
-	 * 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;
-	}
-
-	/**
-	 * A utility method that ensures that the control is visible in the scrolled
-	 * composite. The prerequisite for this method is that the control has a
-	 * class that extends ScrolledComposite somewhere in the parent chain. If
-	 * the control is partially or fully clipped, the composite is scrolled to
-	 * set by setting the origin to the control origin.
-	 * 
-	 * @param c
-	 *            the control to make visible
-	 * @param verticalOnly
-	 *            if <code>true</code>, the scrolled composite will be
-	 *            scrolled only vertically if needed. Otherwise, the scrolled
-	 *            composite origin will be set to the control origin.
-	 * @since 3.1
-	 */
-	public static void setControlVisible(Control c, boolean verticalOnly) {
-		ScrolledComposite scomp = FormUtil.getScrolledComposite(c);
-		if (scomp == null)
-			return;
-		Point location = FormUtil.getControlLocation(scomp, c);
-		scomp.setOrigin(location);
-	}
-
-	private void initialize() {
-		initializeBorderStyle();
-		hyperlinkGroup = new HyperlinkGroup(colors.getDisplay());
-		hyperlinkGroup.setBackground(colors.getBackground());
-		visibilityHandler = new VisibilityHandler();
-		keyboardHandler = new KeyboardHandler();
-		boldFontHolder = new BoldFontHolder();
-	}
-
-	private void initializeBorderStyle() {
-		String osname = System.getProperty("os.name"); //$NON-NLS-1$
-		String osversion = System.getProperty("os.version"); //$NON-NLS-1$
-		if (osname.startsWith("Windows") && "5.1".compareTo(osversion) <= 0) { //$NON-NLS-1$ //$NON-NLS-2$
-			// Skinned widgets used on newer Windows (e.g. XP (5.1), Vista
-			// (6.0))
-			// 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;
-		} else if (osname.startsWith("Mac")) //$NON-NLS-1$
-			borderStyle = SWT.BORDER;
-	}
-
-	/**
-	 * Returns the orientation that all the widgets created by this toolkit will
-	 * inherit, if set. Can be <code>SWT.NULL</code>,
-	 * <code>SWT.LEFT_TO_RIGHT</code> and <code>SWT.RIGHT_TO_LEFT</code>.
-	 * 
-	 * @return orientation style for this toolkit, or <code>SWT.NULL</code> if
-	 *         not set. The default orientation is inherited from the Window
-	 *         default orientation.
-	 * @see org.eclipse.jface.window.Window#getDefaultOrientation()
-	 * @since 3.1
-	 */
-
-	public int getOrientation() {
-		return orientation;
-	}
-
-	/**
-	 * Sets the orientation that all the widgets created by this toolkit will
-	 * inherit. Can be <code>SWT.NULL</code>, <code>SWT.LEFT_TO_RIGHT</code>
-	 * and <code>SWT.RIGHT_TO_LEFT</code>.
-	 * 
-	 * @param orientation
-	 *            style for this toolkit.
-	 * @since 3.1
-	 */
-
-	public void setOrientation(int orientation) {
-		this.orientation = orientation;
-	}
-}
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 a6b0d0b..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Hyperlink.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 static final String ELLIPSIS = "..."; //$NON-NLS-1$	
-	private boolean underlined;
-	// The tooltip is used for two purposes - the application can set
-	// a tooltip or the tooltip can be used to display the full text when the
-	// the text has been truncated due to the label being too short.
-	// The appToolTip stores the tooltip set by the application.  Control.tooltiptext 
-	// contains whatever tooltip is currently being displayed.
-	private String appToolTipText;	
-
-	/**
-	 * 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, style);
-		initAccessible();
-	}
-
-	protected void initAccessible() {
-		Accessible accessible = getAccessible();
-		accessible.addAccessibleListener(new AccessibleAdapter() {
-			public void getName(AccessibleEvent e) {
-				e.result = getText();
-				if (e.result == null)
-					getHelp(e);
-			}
-
-			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_LINK;
-			}
-						
-			public void getDefaultAction (AccessibleControlEvent e) {
-				e.result = SWT.getMessage ("SWT_Press"); //$NON-NLS-1$
-			}
-
-			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;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Control#getToolTipText()
-	 */
-	public String getToolTipText () {
-		checkWidget();
-		return appToolTipText;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Control#setToolTipText(java.lang.String)
-	 */
-	public void setToolTipText (String string) {
-		super.setToolTipText (string);
-		appToolTipText = super.getToolTipText();
-	}	
-
-	/**
-	 * Sets the text of this hyperlink.
-	 * 
-	 * @param text
-	 *            the hyperlink text
-	 */
-	public void setText(String text) {
-		if (text != null)
-			this.text = text;
-		else
-			this.text = ""; //$NON-NLS-1$
-		redraw();
-	}
-
-	/**
-	 * Paints the hyperlink text.
-	 * 
-	 * @param gc
-	 *            graphic context
-	 */
-	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 {
-			Point totalSize = computeTextSize(SWT.DEFAULT, SWT.DEFAULT);
-			boolean shortenText =false;
-			if (bounds.width<totalSize.x) {
-				// shorten
-				shortenText=true;
-			}
-			int textWidth = Math.min(bounds.width, totalSize.x);
-			int textHeight = totalSize.y;
-			String textToDraw = getText();
-			if (shortenText) {
-				textToDraw = shortenText(gc, getText(), bounds.width);
-				if (appToolTipText == null) {
-					super.setToolTipText(getText());
-				}
-			}
-			else {
-				super.setToolTipText(appToolTipText);
-			}
-			gc.drawText(textToDraw, bounds.x, bounds.y, true);
-			if (underlined) {
-				int descent = gc.getFontMetrics().getDescent();
-				int lineY = bounds.y + textHeight - descent + 1;
-				gc.drawLine(bounds.x, lineY, bounds.x + textWidth, lineY);
-			}
-		}
-	}
-	
-	protected String shortenText(GC gc, String t, int width) {
-		if (t == null) return null;
-		int w = gc.textExtent(ELLIPSIS).x;
-		if (width<=w) return t;
-		int l = t.length();
-		int max = l/2;
-		int min = 0;
-		int mid = (max+min)/2 - 1;
-		if (mid <= 0) return t;
-		while (min < mid && mid < max) {
-			String s1 = t.substring(0, mid);
-			String s2 = t.substring(l-mid, l);
-			int l1 = gc.textExtent(s1).x;
-			int l2 = gc.textExtent(s2).x;
-			if (l1+w+l2 > width) {
-				max = mid;			
-				mid = (max+min)/2;
-			} else if (l1+w+l2 < width) {
-				min = mid;
-				mid = (max+min)/2;
-			} else {
-				min = max;
-			}
-		}
-		if (mid == 0) return t;
-	 	return t.substring(0, mid)+ELLIPSIS+t.substring(l-mid, l);
-	}
-
-	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());
-			if ((getStyle() & SWT.WRAP)==0 && wHint!=SWT.DEFAULT)
-				extent.x = wHint;
-		}
-		gc.dispose();
-		return extent;
-	}
-}
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 237dd1c..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ILayoutExtension.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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);
-}
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 9d98f64..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ImageHyperlink.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Chriss Gross (schtoo@schtoo.com) - fix for 61670
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-
-/**
- * This class extends hyperlink widget by adding the capability to render an
- * image relative to the text. If no text has been set, only image will be
- * shown. Images for hover and active states can be set in addition to the
- * normal state image.
- * <p>
- * When image is taller than the text, additional style can be provided to
- * control vertical alignment (supported values are SWT.TOP, SWT.BOTTOM and
- * SWT.CENTER).
- * <p>
- * The class does not need to be sublassed but it is allowed to do so if some
- * aspect of the image hyperlink needs to be modified.
- * 
- * @since 3.0
- */
-public class ImageHyperlink extends Hyperlink {
-	/**
-	 * Amount of pixels between the image and the text (default is 5).
-	 */
-	public int textSpacing = 5;
-
-	private Image image;
-
-	private Image hoverImage;
-
-	private Image activeImage;
-
-	private int state;
-
-	private static final int HOVER = 1 << 1;
-
-	private static final int ACTIVE = 1 << 2;
-
-	private int verticalAlignment = SWT.CENTER;
-
-	private int horizontalAlignment = SWT.LEFT;
-
-	/**
-	 * Creates the image hyperlink instance.
-	 * 
-	 * @param parent
-	 *            the control parent
-	 * @param style
-	 *            the control style (SWT.WRAP, BOTTOM, TOP, MIDDLE, LEFT, RIGHT)
-	 */
-	public ImageHyperlink(Composite parent, int style) {
-		super(parent, removeAlignment(style));
-		extractAlignment(style);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.widgets.AbstractHyperlink#paintHyperlink(org.eclipse.swt.events.PaintEvent)
-	 */
-	protected void paintHyperlink(GC gc) {
-		paintHyperlink(gc, getClientArea());
-	}
-	
-	protected void paintHyperlink(GC gc, Rectangle bounds) {
-		Image image = null;
-		if ((state & ACTIVE) != 0)
-			image = activeImage;
-		else if ((state & HOVER) != 0)
-			image = hoverImage;
-		if (image == null)
-			image = this.image;
-		Rectangle ibounds = image != null ? image.getBounds() : new Rectangle(0, 0, 0, 0);
-		Point maxsize = computeMaxImageSize();
-		int spacing = image!=null?textSpacing:0;		
-		int textWidth = bounds.width - maxsize.x - spacing
-				- marginWidth - marginWidth;
-		int y = bounds.y+marginHeight + maxsize.y / 2 - ibounds.height / 2;
-
-		if (horizontalAlignment == SWT.LEFT) {
-			int x = bounds.x+marginWidth + maxsize.x / 2 - ibounds.width / 2;
-			int textX = bounds.x + marginWidth + maxsize.x + spacing;
-			if (image != null)
-				gc.drawImage(image, x, y);
-			if (getText() != null)
-				drawText(gc, bounds, textX, textWidth);
-		} else if (horizontalAlignment == SWT.RIGHT) {
-			int x = bounds.x+marginWidth;
-			if (getText() != null) {
-				x += drawText(gc, bounds, x, textWidth);
-			}
-			x += maxsize.x / 2 - ibounds.width / 2 + spacing;
-			if (image != null)
-				gc.drawImage(image, x, y);
-		}
-	}
-
-	private int drawText(GC gc, Rectangle clientArea, int textX, int textWidth) {
-		Point textSize = computeTextSize(textWidth, SWT.DEFAULT);
-		int slotHeight = clientArea.height - marginHeight - marginHeight;
-		int textY;
-		textWidth = textSize.x;
-		int textHeight = textSize.y;
-		if (verticalAlignment == SWT.BOTTOM) {
-			textY = marginHeight + slotHeight - textHeight;
-		} else if (verticalAlignment == SWT.CENTER) {
-			textY = marginHeight + slotHeight / 2 - textHeight / 2;
-		} else {
-			textY = marginHeight;
-		}
-		paintText(gc, new Rectangle(textX, textY, textWidth, textHeight));
-		return textWidth;
-	}
-
-	/**
-	 * 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();
-		int spacing = isize.x>0?textSpacing:0;
-		Point textSize = null;
-		if (getText() != null) {
-			int innerWHint = wHint;
-			if (wHint != SWT.DEFAULT) {
-				innerWHint = wHint - 2 * marginWidth - isize.x - spacing;
-			}
-			textSize = super.computeSize(innerWHint, hHint, changed);
-		}
-		int width = isize.x;
-		int height = isize.y;
-		if (textSize != null) {
-			width += spacing;
-			width += textSize.x;
-			height = Math.max(height, textSize.y);
-		}
-		width += 2 * marginWidth;
-		height += 2 * marginHeight;
-		return new Point(width, height);
-	}
-
-	protected void handleEnter(Event e) {
-		state = HOVER;
-		super.handleEnter(e);
-	}
-
-	protected void handleExit(Event e) {
-		state = 0;
-		super.handleExit(e);
-	}
-
-	protected void handleActivate(Event e) {
-		state &= ACTIVE;
-		redraw();
-		super.handleActivate(e);
-		state &= ~ACTIVE;
-		if (!isDisposed())
-			redraw();
-	}
-
-	/**
-	 * Returns active image.
-	 * 
-	 * @return active image or <code>null</code> if not set.
-	 */
-	public Image getActiveImage() {
-		return activeImage;
-	}
-
-	/**
-	 * Sets the image to show when link is activated.
-	 * 
-	 * @param activeImage
-	 * 
-	 */
-	public void setActiveImage(Image activeImage) {
-		this.activeImage = activeImage;
-	}
-
-	/**
-	 * Returns the hover image.
-	 * 
-	 * @return hover image or <code>null</code> if not set.
-	 */
-	public Image getHoverImage() {
-		return hoverImage;
-	}
-
-	/**
-	 * Sets the image to show when link is hover state (on mouse over).
-	 * 
-	 * @param hoverImage
-	 */
-	public void setHoverImage(Image hoverImage) {
-		this.hoverImage = hoverImage;
-	}
-
-	/**
-	 * Returns the image to show in the normal state.
-	 * 
-	 * @return normal image or <code>null</code> if not set.
-	 */
-	public Image getImage() {
-		return image;
-	}
-
-	/**
-	 * Sets the image to show when link is in the normal state.
-	 * 
-	 * @param image
-	 */
-	public void setImage(Image image) {
-		this.image = image;
-	}
-
-	private Point computeMaxImageSize() {
-		int x = 0;
-		int y = 0;
-		if (image != null) {
-			x = Math.max(image.getBounds().width, x);
-			y = Math.max(image.getBounds().height, y);
-		}
-		if (hoverImage != null) {
-			x = Math.max(hoverImage.getBounds().width, x);
-			y = Math.max(hoverImage.getBounds().height, y);
-		}
-		if (activeImage != null) {
-			x = Math.max(activeImage.getBounds().width, x);
-			y = Math.max(activeImage.getBounds().height, y);
-		}
-		return new Point(x, y);
-	}
-
-	private static int removeAlignment(int style) {
-		int resultStyle = style;
-		if ((style & SWT.CENTER) != 0) {
-			resultStyle &= (~SWT.CENTER);
-		}
-		if ((style & SWT.TOP) != 0) {
-			resultStyle &= (~SWT.TOP);
-		}
-		if ((style & SWT.BOTTOM) != 0) {
-			resultStyle &= (~SWT.BOTTOM);
-		}
-		if ((style & SWT.LEFT) != 0) {
-			resultStyle &= (~SWT.LEFT);
-		}
-		if ((style & SWT.RIGHT) != 0) {
-			resultStyle &= (~SWT.RIGHT);
-		}
-		return resultStyle;
-	}
-
-	private void extractAlignment(int style) {
-		if ((style & SWT.CENTER) != 0) {
-			verticalAlignment = SWT.CENTER;
-		} else if ((style & SWT.TOP) != 0) {
-			verticalAlignment = SWT.TOP;
-		} else if ((style & SWT.BOTTOM) != 0) {
-			verticalAlignment = SWT.BOTTOM;
-		}
-		if ((style & SWT.LEFT) != 0) {
-			horizontalAlignment = SWT.LEFT;
-		} else if ((style & SWT.RIGHT) != 0) {
-			horizontalAlignment = SWT.RIGHT;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/LayoutCache.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/LayoutCache.java
deleted file mode 100644
index 7421a70..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/LayoutCache.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.Control;
-
-/**
- * Caches the preferred sizes of an array of controls
- * 
- * @since 3.0
- */
-public class LayoutCache {
-    private SizeCache[] caches = new SizeCache[0];
-
-    /**
-     * Creates an empty layout cache
-     */
-    public LayoutCache() {
-    }
-
-    /**
-     * Creates a cache for the given array of controls
-     * 
-     * @param controls
-     */
-    public LayoutCache(Control[] controls) {
-        rebuildCache(controls);
-    }
-
-    /**
-     * Returns the size cache for the given control
-     * 
-     * @param idx
-     * @return the size cache for the given control
-     */
-    public SizeCache getCache(int idx) {
-        return caches[idx];
-    }
-
-    /**
-     * Sets the controls that are being cached here. If these are the same
-     * controls that were used last time, this method does nothing. Otherwise,
-     * the cache is flushed and a new cache is created for the new controls.
-     * 
-     * @param controls
-     */
-    public void setControls(Control[] controls) {
-        // If the number of controls has changed, discard the entire cache
-        if (controls.length != caches.length) {
-            rebuildCache(controls);
-            return;
-        }
-
-        for (int idx = 0; idx < controls.length; idx++) {
-            caches[idx].setControl(controls[idx]);
-        }
-    }
-
-    /**
-     * Creates a new size cache for the given set of controls, discarding any
-     * existing cache.
-     * 
-     * @param controls the controls whose size is being cached
-     */
-    private void rebuildCache(Control[] controls) {
-        SizeCache[] newCache = new SizeCache[controls.length];
-
-        for (int idx = 0; idx < controls.length; idx++) {
-            // Try to reuse existing caches if possible
-            if (idx < caches.length) {
-                newCache[idx] = caches[idx];
-                newCache[idx].setControl(controls[idx]);
-            } else {
-                newCache[idx] = new SizeCache(controls[idx]);
-            }
-        }
-
-        caches = newCache;
-    }
-
-    /**
-     * Computes the preferred size of the nth control
-     * 
-     * @param controlIndex index of the control whose size will be computed
-     * @param widthHint width of the control (or SWT.DEFAULT if unknown)
-     * @param heightHint height of the control (or SWT.DEFAULT if unknown)
-     * @return the preferred size of the control
-     */
-    public Point computeSize(int controlIndex, int widthHint, int heightHint) {
-        return caches[controlIndex].computeSize(widthHint, heightHint);
-    }
-
-    /**
-     * Flushes the cache for the given control. This should be called if exactly
-     * one of the controls has changed but the remaining controls remain unmodified
-     * 
-     * @param controlIndex
-     */
-    public void flush(int controlIndex) {
-        caches[controlIndex].flush();
-    }
-
-    /**
-     * Flushes the cache.
-     */
-    public void flush() {
-        for (int idx = 0; idx < caches.length; idx++) {
-            caches[idx].flush();
-        }
-    }
-}
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 b51cca8..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/LayoutComposite.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 default 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);
-	}
-}
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 f44a87c..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledForm.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.forms.IMessage;
-
-/**
- * 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();
-	}
-
-	/**
-	 * Returns the title image that will be rendered to the left of the title.
-	 * 
-	 * @return the title image
-	 */
-	public Image getImage() {
-		return content.getImage();
-	}
-
-	/**
-	 * 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.
-	 * <p>
-	 * <strong>Note:</strong> Mnemonics are indicated by an '&amp;' that causes
-	 * the next character to be the mnemonic. Mnemonics are not applicable in
-	 * the case of the form title but need to be taken into acount due to the
-	 * usage of the underlying widget that renders mnemonics in the title area.
-	 * The mnemonic indicator character '&amp;' can be escaped by doubling it in
-	 * the string, causing a single '&amp;' to be displayed.
-	 * </p>
-	 * 
-	 * @param text
-	 *            the title text
-	 */
-	public void setText(String text) {
-		content.setText(text);
-		reflow(true);
-	}
-
-	/**
-	 * Sets the image to be rendered to the left of the title.
-	 * 
-	 * @param image
-	 *            the title image or <code>null</code> for no image.
-	 */
-	public void setImage(Image image) {
-		content.setImage(image);
-		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();
-	}
-
-	/**
-	 * 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;
-	}
-
-	/**
-	 * Sets the form's busy state. Busy form will display 'busy' animation in
-	 * the area of the title image.
-	 * 
-	 * @param busy
-	 *            the form's busy state
-	 * @see Form#setBusy(boolean)
-	 * @since 3.3
-	 */
-
-	public void setBusy(boolean busy) {
-		content.setBusy(busy);
-		reflow(true);
-	}
-
-	/**
-	 * Sets the optional head client.
-	 * 
-	 * @param headClient
-	 *            the optional child of the head
-	 * @see Form#setHeadClient(Control)
-	 * @since 3.3
-	 */
-	public void setHeadClient(Control headClient) {
-		content.setHeadClient(headClient);
-		reflow(true);
-	}
-
-	/**
-	 * Sets the form message.
-	 * 
-	 * @param newMessage
-	 *            the message text or <code>null</code> to reset.
-	 * @param newType
-	 *            as defined in
-	 *            {@link org.eclipse.jface.dialogs.IMessageProvider}.
-	 * @param messages
-	 * 			 an optional array of children that itemize individual
-	 * 			messages or <code>null</code> for a simple message.
-	 * @since 3.3
-	 * @see Form#setMessage(String, int)
-	 */
-	public void setMessage(String newMessage, int newType, IMessage[] messages) {
-		content.setMessage(newMessage, newType, messages);
-		reflow(true);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IMessageContainer#setMessage(java.lang.String,
-	 *      int)
-	 */
-	public void setMessage(String newMessage, int newType) {
-		this.setMessage(newMessage, newType, null);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.IMessageProvider#getMessage()
-	 */
-	public String getMessage() {
-		return content.getMessage();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.IMessageProvider#getMessageType()
-	 */
-	public int getMessageType() {
-		return content.getMessageType();
-	}
-}
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 78e053e..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledFormText.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 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 bg
-	 *            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>")) //$NON-NLS-1$
-				markup = "<form>" + text + "</form>";  //$NON-NLS-1$//$NON-NLS-2$
-			content.setText(markup, true, false);
-		}
-	}
-	private void loadContents(InputStream is) {
-		if (content != null) {
-			content.setContents(is, false);
-		}
-	}
-}
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 f6ffe96..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ScrolledPageBook.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 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(Object)
-	 * @see #getContainer
-	 */
-	public void registerPage(Object key, Control page) {
-		pages.put(key, page);
-	}
-	/**
-	 * Removes the page under the provided key from the page book. Does nothing
-	 * if page with that key does not exist.
-	 * 
-	 * @param key
-	 *            the page key.
-	 */
-	public void removePage(Object key) {
-		removePage(key, true);
-	}
-	/**
-	 * Removes the page under the provided key from the page book. Does nothing
-	 * if page with that key does not exist.
-	 * 
-	 * @param key
-	 *            the page key.
-	 * @param showEmptyPage
-	 * 			  if <code>true</code>, shows the empty page
-	 *            after page removal.
-	 */
-	public void removePage(Object key, boolean showEmptyPage) {
-		Control page = (Control) pages.get(key);
-		if (page != null) {
-			pages.remove(key);
-			page.dispose();
-			if (showEmptyPage)
-				showEmptyPage();
-		}
-	}
-	/**
-	 * Shows the page with the provided key and hides the page previously
-	 * showing. Does nothing if the page with that key does not exist.
-	 * 
-	 * @param key
-	 *            the page key
-	 */
-	public void showPage(Object key) {
-		Control page = (Control) pages.get(key);
-		if (page != null) {
-			pageBook.showPage(page);
-			if (currentPage != null && currentPage != page) {
-				// switching pages - force layout
-				if (page instanceof Composite)
-					((Composite) page).layout(false);
-			}
-			currentPage = page;
-		} else {
-			showEmptyPage();
-		}
-		reflow(true);
-	}
-	/**
-	 * Shows a page with no children to be used if the desire is to not show
-	 * any registered page.
-	 */
-	public void showEmptyPage() {
-		if (emptyPage == null) {
-			emptyPage = createPage();
-			emptyPage.setLayout(new GridLayout());
-		}
-		pageBook.showPage(emptyPage);
-		currentPage = emptyPage;
-		reflow(true);
-	}
-	/**
-	 * Sets focus on the current page if shown.
-	 */
-	public boolean setFocus() {
-		if (currentPage != null)
-			return currentPage.setFocus();
-		return super.setFocus();
-	}
-	/**
-	 * Returns the page currently showing.
-	 * 
-	 * @return the current page
-	 */
-	public Control getCurrentPage() {
-		return currentPage;
-	}
-	private Composite createPage() {
-		Composite page = new LayoutComposite(pageBook, SWT.NULL);
-		page.setBackground(getBackground());
-		page.setForeground(getForeground());
-		page.setMenu(pageBook.getMenu());
-		return page;
-	}
-}
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 5281a8c..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Section.java
+++ /dev/null
@@ -1,477 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Michael Williamson (eclipse-bugs@magnaworks.com) - patch (see Bugzilla #92545) 
- *       
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.graphics.Color;
-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.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.internal.forms.widgets.FormUtil;
-
-/**
- * A variation of the expandable composite that adds optional description below
- * the title. Section is often used as a basic building block in 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.
- * <p>
- * Since 3.1, it is possible to set a control to be used for section
- * description. If used, <code>DESCRIPTION</code> style should not be set. A
- * typical way to take advantage of the new method is to set an instance of
- * <code>FormText</code> to provide for hyperlinks and images in the
- * description area.
- * 
- * @since 3.0
- */
-public class Section extends ExpandableComposite {
-	/**
-	 * Description style. If used, description will be rendered below the title.
-	 */
-	public static final int DESCRIPTION = 1 << 7;
-
-	private Control descriptionControl;
-
-	private Control separator;
-
-	private Hashtable titleColors;
-
-	private static final String COLOR_BG = "bg"; //$NON-NLS-1$
-
-	private static final String COLOR_GBG = "gbg"; //$NON-NLS-1$
-
-	private static final String COLOR_BORDER = "border"; //$NON-NLS-1$
-
-	/**
-	 * 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) {
-		this(parent, SWT.NULL, style);
-	}
-
-	Section(Composite parent, int cstyle, int style) {
-		super(parent, cstyle | getBackgroundStyle(style), style);
-		int rtl = cstyle & SWT.RIGHT_TO_LEFT;
-		if ((style & DESCRIPTION) != 0) {
-			descriptionControl = new Text(this, SWT.READ_ONLY | SWT.WRAP | rtl);
-		}
-		if ((style & TITLE_BAR) != 0) {
-			Listener listener = new Listener() {
-				public void handleEvent(Event e) {
-					Image image = Section.super.getBackgroundImage();
-					if (image != null)
-						image.dispose();
-					Section.super.setBackgroundImage(null);
-				}
-			};
-			addListener(SWT.Dispose, listener);
-			addListener(SWT.Resize, listener);
-		}
-	}
-
-	private static int getBackgroundStyle(int estyle) {
-		return ((estyle & TITLE_BAR) != 0) ? SWT.NO_BACKGROUND : SWT.NULL;
-	}
-
-	protected void internalSetExpanded(boolean expanded) {
-		super.internalSetExpanded(expanded);
-		if ((getExpansionStyle() & TITLE_BAR) != 0) {
-			if (!expanded)
-				super.setBackgroundImage(null);
-		}
-		reflow();
-	}
-
-	/**
-	 * Reflows this section and all the parents up the hierarchy until a
-	 * ScrolledForm is reached.
-	 */
-	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 if DESCRIPTION style was not
-	 * used to create the control.
-	 * 
-	 * @param description
-	 */
-	public void setDescription(String description) {
-		if (descriptionControl instanceof Text)
-			((Text) descriptionControl).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 (descriptionControl instanceof Text)
-			return ((Text) descriptionControl).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 (descriptionControl != null
-				&& (getExpansionStyle() & DESCRIPTION) != 0)
-			descriptionControl.setBackground(bg);
-	}
-
-	/**
-	 * Sets the foreground of the section.
-	 * 
-	 * @param fg
-	 *            the new foreground.
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		if (descriptionControl != null
-				&& (getExpansionStyle() & DESCRIPTION) != 0)
-			descriptionControl.setForeground(fg);
-	}
-
-	/**
-	 * Returns the control used to render the description. In 3.1, this method
-	 * was promoted to public.
-	 * 
-	 * @return description control or <code>null</code> if DESCRIPTION style
-	 *         was not used to create the control and description control was
-	 *         not set by the client.
-	 * @see #setDescriptionControl(org.eclipse.swt.widgets.Control)
-	 */
-	public Control getDescriptionControl() {
-		return descriptionControl;
-	}
-
-	/**
-	 * Sets the description control of this section. The control must not be
-	 * <samp>null</samp> and must be a direct child of this container. If
-	 * defined, contol will be placed below the title text and the separator and
-	 * will be hidden int he collapsed state.
-	 * <p>
-	 * This method and <code>DESCRIPTION</code> style are mutually exclusive.
-	 * Use the method only if you want to create the description control
-	 * yourself.
-	 * 
-	 * @since 3.1
-	 * @param descriptionControl
-	 *            the control that will be placed below the title text.
-	 */
-	public void setDescriptionControl(Control descriptionControl) {
-		Assert.isTrue((getExpansionStyle() & DESCRIPTION) == 0);
-		Assert.isTrue(descriptionControl != null
-				&& descriptionControl.getParent().equals(this));
-		this.descriptionControl = descriptionControl;
-	}
-
-	/**
-	 * 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 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);
-	}
-
-	/**
-	 * 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);
-	}
-
-	/**
-	 * 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;
-		if ((getExpansionStyle() & SHORT_TITLE_BAR) != 0)
-			return getBackground();
-		return (Color) titleColors.get(COLOR_GBG);
-	}
-
-	/**
-	 * 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 (color == null)
-			return;
-		if (titleColors == null)
-			titleColors = new Hashtable();
-		titleColors.put(key, color);
-	}
-
-	protected void onPaint(PaintEvent e) {
-		Color bg = null;
-		Color fg = null;
-		Color border = null;
-
-		GC gc = e.gc;
-		Image buffer = null;
-		Rectangle bounds = getClientArea();
-
-		if ((getExpansionStyle() & TITLE_BAR) != 0) {
-			buffer = new Image(getDisplay(), bounds.width, bounds.height);
-			buffer.setBackground(getBackground());
-			gc = new GC(buffer);
-		}
-		if (titleColors != null) {
-			bg = (Color) titleColors.get(COLOR_BG);
-			fg = getTitleBarForeground();
-			border = (Color) titleColors.get(COLOR_BORDER);
-		}
-		if (bg == null)
-			bg = getBackground();
-		if (fg == null)
-			fg = getForeground();
-		if (border == null)
-			border = fg;
-		int theight = 0;
-		int gradientheight = 0;
-		int tvmargin = IGAP;
-		if ((getExpansionStyle() & TITLE_BAR) != 0) {
-			Point tsize = null;
-			Point tcsize = null;
-			if (toggle != null)
-				tsize = toggle.getSize();
-			int twidth = bounds.width - marginWidth - marginWidth;
-			if (tsize != null)
-				twidth -= tsize.x + IGAP;
-			if (getTextClient() != null)
-				tcsize = getTextClient().getSize();
-			if (tcsize != null)
-				twidth -= tcsize.x + IGAP;
-			Point size = textLabel.getSize();
-			if (tsize != null)
-				theight += Math.max(theight, tsize.y);
-			gradientheight = theight;
-			if (tcsize != null) {
-				theight = Math.max(theight, tcsize.y);
-			}
-			theight = Math.max(theight, size.y);
-			gradientheight = Math.max(gradientheight, size.y);
-			theight += tvmargin + tvmargin;
-			gradientheight += tvmargin + tvmargin;
-		} else {
-			theight = 5;
-		}
-		if ((getExpansionStyle() & TITLE_BAR) != 0) {
-			if (getBackgroundImage() == null)
-				updateHeaderImage(bg, bounds, gradientheight, theight);
-			gc.setBackground(getBackground());
-			gc.fillRectangle(bounds.x, bounds.y, bounds.width, bounds.height);
-			drawBackground(gc, bounds.x, bounds.y, bounds.width, theight);
-			if (marginWidth > 0) {
-				// fix up margins
-				gc.setBackground(getBackground());
-				gc.fillRectangle(0, 0, marginWidth, theight);
-				gc.fillRectangle(bounds.x + bounds.width - marginWidth, 0,
-						marginWidth, theight);
-			}
-		} else if (isExpanded()) {
-			gc.setForeground(bg);
-			gc.setBackground(getBackground());
-			gc.fillGradientRectangle(marginWidth, marginHeight, bounds.width
-					- marginWidth - marginWidth, theight, true);
-		}
-		gc.setBackground(getBackground());
-		FormUtil.setAntialias(gc, SWT.ON);
-		// repair the upper left corner
-		gc.fillPolygon(new int[] { marginWidth, marginHeight, marginWidth,
-				marginHeight + 2, marginWidth + 2, marginHeight });
-		// repair the upper right corner
-		gc.fillPolygon(new int[] { bounds.width - marginWidth - 3,
-				marginHeight, bounds.width - marginWidth, marginHeight,
-				bounds.width - marginWidth, marginHeight + 3 });
-		gc.setForeground(border);
-		if (isExpanded() || (getExpansionStyle() & TITLE_BAR) != 0) {
-			// top left curve
-			gc.drawLine(marginWidth, marginHeight + 2, marginWidth + 2,
-					marginHeight);
-			// top edge
-			gc.drawLine(marginWidth + 2, marginHeight, bounds.width
-					- marginWidth - 3, marginHeight);
-			// top right curve
-			gc.drawLine(bounds.width - marginWidth - 3, marginHeight,
-					bounds.width - marginWidth - 1, marginHeight + 2);
-		} else {
-			// collapsed short title bar
-			// top edge
-			gc.drawLine(marginWidth, marginHeight, bounds.width - 1,
-					marginHeight);
-		}
-		if ((getExpansionStyle() & TITLE_BAR) != 0 || isExpanded()) {
-			// left vertical edge gradient
-			gc.fillGradientRectangle(marginWidth, marginHeight + 2, 1,
-					gradientheight - 2, true);
-			// right vertical edge gradient
-			gc.fillGradientRectangle(bounds.width - marginWidth - 1,
-					marginHeight + 2, 1, gradientheight - 2, true);
-		}
-		if ((getExpansionStyle() & TITLE_BAR) != 0) {
-			// New in 3.3 - edge treatmant
-			gc.setForeground(getDisplay().getSystemColor(SWT.COLOR_WHITE));
-			gc.drawPolyline(new int[] { marginWidth + 1,
-					marginHeight + gradientheight - 1, marginWidth + 1,
-					marginHeight + 2, marginWidth + 2, marginHeight + 2,
-					marginWidth + 2, marginHeight + 1,
-					bounds.width - marginWidth - 3, marginHeight + 1,
-					bounds.width - marginWidth - 3, marginHeight + 2,
-					bounds.width - marginWidth - 2, marginHeight + 2,
-					bounds.width - marginWidth - 2,
-					marginHeight + gradientheight - 1 });
-		}
-		if (buffer != null) {
-			gc.dispose();
-			e.gc.drawImage(buffer, 0, 0);
-			buffer.dispose();
-		}
-	}
-
-	private void updateHeaderImage(Color bg, Rectangle bounds, int theight,
-			int realtheight) {
-		Image image = new Image(getDisplay(), 1, realtheight);
-		image.setBackground(getBackground());
-		GC gc = new GC(image);
-		gc.setBackground(getBackground());
-		gc.fillRectangle(0, 0, 1, realtheight);
-		gc.setForeground(bg);
-		gc.setBackground(getBackground());
-		gc.fillGradientRectangle(0, marginHeight + 2, 1, theight - 2, true);
-		gc.dispose();
-		super.setBackgroundImage(image);
-	}
-
-	/**
-	 * Background image is used for the title gradient - does nothing.
-	 */
-	public final void setBackgroundImage(Image image) {
-	}
-}
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 4d9aabc..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/SharedScrolledComposite.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.Color;
-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.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.ui.internal.forms.widgets.FormUtil;
-
-/**
- * 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;
-	
-	private boolean ignoreLayouts = true;
-
-	private boolean ignoreResizes = false;
-
-	private boolean expandHorizontal = false;
-
-	private boolean expandVertical = false;
-
-	private SizeCache contentCache = new SizeCache();
-
-	private boolean reflowPending = false;
-
-	private boolean delayedReflow = true;
-	
-	/**
-	 * 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) {
-				if (!ignoreResizes) {
-					scheduleReflow(false);
-				}
-			}
-		});
-		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() {
-		boolean result;
-		FormUtil.setFocusScrollingEnabled(this, false);
-		if (getContent() != null)
-			result = getContent().setFocus();
-		else
-			result = super.setFocus();
-		FormUtil.setFocusScrollingEnabled(this, true);
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.widgets.Composite#layout(boolean)
-	 */
-	public void layout(boolean changed) {
-		if (ignoreLayouts) {
-			return;
-		}
-
-		ignoreLayouts = true;
-		ignoreResizes = true;
-		super.layout(changed);
-		ignoreResizes = false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.custom.ScrolledComposite#setExpandHorizontal(boolean)
-	 */
-	public void setExpandHorizontal(boolean expand) {
-		expandHorizontal = expand;
-		super.setExpandHorizontal(expand);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.custom.ScrolledComposite#setExpandVertical(boolean)
-	 */
-	public void setExpandVertical(boolean expand) {
-		expandVertical = expand;
-		super.setExpandVertical(expand);
-	}
-
-	/**
-	 * 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;
-
-		contentCache.setControl(c);
-		if (flushCache) {
-			contentCache.flush();
-		}
-		setRedraw(false);
-		Point newSize = contentCache.computeSize(FormUtil.getWidthHint(
-				clientArea.width, c), FormUtil.getHeightHint(clientArea.height,
-				c));
-
-		// Point currentSize = c.getSize();
-		if (!(expandHorizontal && expandVertical)) {
-			c.setSize(newSize);
-		}
-
-		setMinSize(newSize);
-		FormUtil.updatePageIncrement(this);
-
-		ignoreLayouts = false;
-		layout(flushCache);
-		ignoreLayouts = true;
-
-		contentCache.layoutIfNecessary();
-		setRedraw(true);
-	}
-
-	private void updateSizeWhilePending() {
-		Control c = getContent();
-		Rectangle area = getClientArea();
-		setMinSize(area.width, c.getSize().y);
-	}
-
-	private void scheduleReflow(final boolean flushCache) {
-		if (delayedReflow) {
-			if (reflowPending) {
-				updateSizeWhilePending();
-				return;
-			}
-			getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					if (!isDisposed())
-						reflow(flushCache);
-					reflowPending = false;
-				}
-			});
-			reflowPending = true;
-		} else
-			reflow(flushCache);
-	}
-
-	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);
-	}
-
-	/**
-	 * Tests if the control uses delayed reflow.
-	 * @return <code>true</code> if reflow requests will
-	 * be delayed, <code>false</code> otherwise. 
-	 */
-	public boolean isDelayedReflow() {
-		return delayedReflow;
-	}
-
-	/**
-	 * Sets the delayed reflow feature. When used,
-	 * it will schedule a reflow on resize requests
-	 * and reject subsequent reflows until the
-	 * scheduled one is performed. This improves
-	 * performance by 
-	 * @param delayedReflow
-	 *            The delayedReflow to set.
-	 */
-	public void setDelayedReflow(boolean delayedReflow) {
-		this.delayedReflow = delayedReflow;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/SizeCache.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/SizeCache.java
deleted file mode 100644
index a22b207..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/SizeCache.java
+++ /dev/null
@@ -1,532 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import java.util.List;
-
-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.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.ProgressBar;
-import org.eclipse.swt.widgets.Sash;
-import org.eclipse.swt.widgets.Scale;
-import org.eclipse.swt.widgets.Scrollable;
-import org.eclipse.swt.widgets.Slider;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.internal.forms.widgets.FormUtil;
-
-/**
- * Caches the preferred size of an SWT control
- * 
- * @since 3.0
- */
-public class SizeCache {
-    private Control control;
-
-    private Point preferredSize;
-
-    private int cachedWidthQuery;
-    private int cachedWidthResult;
-
-    private int cachedHeightQuery;
-    private int cachedHeightResult;
-    
-    private int minimumWidth;
-    private int heightAtMinimumWidth = -1;
-    private int maximumWidth;
-    
-    /**
-     * True iff we should recursively flush all children on the next layout
-     */
-    private boolean flushChildren;
-
-    /**
-     * True iff changing the height hint does not affect the preferred width and changing
-     * the width hint does not change the preferred height
-     */
-    private boolean independentDimensions = false;
-
-    /**
-     * True iff the preferred height for any hint larger than the preferred width will not
-     * change the preferred height.
-     */
-    private boolean preferredWidthOrLargerIsMinimumHeight = false;
-
-    // HACK: these values estimate how much to subtract from the width and height
-    // hints that get passed into computeSize, in order to produce a result
-    // that is exactly the desired size. To be removed once bug 46112 is fixed (note:
-    // bug 46112 is currently flagged as a duplicate, but there is still no workaround).
-    private int widthAdjustment = 0;
-
-    private int heightAdjustment = 0;
-
-    private int minimumHeight;
-
-    private int widthAtMinimumHeight = -1;
-    
-    // If the layout is dirty, this is the size of the control at the time its
-    // layout was dirtied. null if the layout is not dirty.
-    private Point dirtySize = null; 
-
-
-    // END OF HACK
-
-    public SizeCache() {
-        this(null);
-    }
-
-    /**
-     * Creates a cache for size computations on the given control
-     * 
-     * @param control the control for which sizes will be calculated, 
-     * or null to always return (0,0) 
-     */
-    public SizeCache(Control control) {
-        setControl(control);
-    }
-
-    /**
-     * Sets the control whose size is being cached. Does nothing (will not
-     * even flush the cache) if this is the same control as last time. 
-     * 
-     * @param newControl the control whose size is being cached, or null to always return (0,0)
-     */
-    public void setControl(Control newControl) {
-        if (newControl != control) {
-            control = newControl;
-            if (control == null) {
-                independentDimensions = true;
-                preferredWidthOrLargerIsMinimumHeight = false;
-                widthAdjustment = 0;
-                heightAdjustment = 0;
-            } else {
-                independentDimensions = independentLengthAndWidth(control);
-                preferredWidthOrLargerIsMinimumHeight = isPreferredWidthMaximum(control);
-                computeHintOffset(control);
-                flush();
-            }
-        }
-    }
-
-    /**
-     * Returns the control whose size is being cached
-     * 
-     * @return the control whose size is being cached, or null if this cache always returns (0,0)
-     */
-    public Control getControl() {
-        return control;
-    }
-
-    /**
-     * Flush the cache (should be called if the control's contents may have changed since the
-     * last query)
-     */
-    public void flush() {
-        flush(true);
-    }
-
-    public void flush(boolean recursive) {
-        preferredSize = null;
-        cachedWidthQuery = -1;
-        cachedWidthResult = -1;
-        cachedHeightQuery = -1;
-        cachedHeightResult = -1;
-        minimumWidth = -1;
-        maximumWidth = -1;
-        minimumHeight = -1;
-        heightAtMinimumWidth = -1;
-        widthAtMinimumHeight = -1;
-        
-        if (recursive || dirtySize != null) {
-            if (control == null || control.isDisposed()) {
-                dirtySize = new Point(0,0);
-                control = null;
-            } else {
-                dirtySize = control.getSize();
-            }
-        }
-        
-        this.flushChildren = this.flushChildren || recursive;
-    }
-
-    private Point getPreferredSize() {
-        if (preferredSize == null) {
-            preferredSize = controlComputeSize(SWT.DEFAULT, SWT.DEFAULT);
-        }
-
-        return preferredSize;
-    }
-
-    /**
-     * Computes the preferred size of the control.
-     *  
-     * @param widthHint the known width of the control (pixels) or SWT.DEFAULT if unknown
-     * @param heightHint the known height of the control (pixels) or SWT.DEFAULT if unknown
-     * @return the preferred size of the control
-     */
-    public Point computeSize(int widthHint, int heightHint) {
-        if (control == null || control.isDisposed()) {
-            return new Point(0, 0);
-        }
-        
-        // If we're asking for a result smaller than the minimum width
-        int minWidth = computeMinimumWidth();
-        
-        if (widthHint != SWT.DEFAULT && widthHint + widthAdjustment < minWidth) {
-            if (heightHint == SWT.DEFAULT) {
-                return new Point(minWidth, computeHeightAtMinimumWidth());   
-            }
-            
-            widthHint = minWidth - widthAdjustment;
-        }
-        
-        // If we're asking for a result smaller than the minimum height
-        int minHeight = computeMinimumHeight();
-        
-        if (heightHint != SWT.DEFAULT && heightHint + heightAdjustment < minHeight) {
-            if (widthHint == SWT.DEFAULT) {
-                return new Point(computeWidthAtMinimumHeight(), minHeight);
-            }
-            
-            heightHint = minHeight - heightAdjustment;
-        }
-        
-        // If both dimensions were supplied in the input, compute the trivial result
-        if (widthHint != SWT.DEFAULT && heightHint != SWT.DEFAULT) {                        
-            return new Point(widthHint + widthAdjustment, heightHint + heightAdjustment);
-        }
-
-        // No hints given -- find the preferred size
-        if (widthHint == SWT.DEFAULT && heightHint == SWT.DEFAULT) {
-            return Geometry.copy(getPreferredSize());
-        }
-
-        // If the length and width are independent, compute the preferred size
-        // and adjust whatever dimension was supplied in the input
-        if (independentDimensions) {
-            Point result = Geometry.copy(getPreferredSize());
-
-            if (widthHint != SWT.DEFAULT) {
-                result.x = widthHint + widthAdjustment;
-            }
-
-            if (heightHint != SWT.DEFAULT) {
-                result.y = heightHint + heightAdjustment;
-            }
-
-            return result;
-        }
-
-        // Computing a height
-        if (heightHint == SWT.DEFAULT) {
-            // If we know the control's preferred size
-            if (preferredSize != null) {
-                // If the given width is the preferred width, then return the preferred size
-                if (widthHint + widthAdjustment == preferredSize.x) {
-                    return Geometry.copy(preferredSize);
-                }
-            }
-
-            // If we have a cached height measurement
-            if (cachedHeightQuery != -1) {
-                // If this was measured with the same width hint
-                if (cachedHeightQuery == widthHint) {
-                    return new Point(widthHint + widthAdjustment, cachedHeightResult);
-                }
-            }
-
-            // If this is a control where any hint larger than the
-            // preferred width results in the minimum height, determine if
-            // we can compute the result based on the preferred height
-            if (preferredWidthOrLargerIsMinimumHeight) {
-                // Computed the preferred size (if we don't already know it)
-                getPreferredSize();
-
-                // If the width hint is larger than the preferred width, then
-                // we can compute the result from the preferred width
-                if (widthHint + widthAdjustment >= preferredSize.x) {
-                    return new Point(widthHint + widthAdjustment, preferredSize.y);
-                }
-            }
-
-            // Else we can't find an existing size in the cache, so recompute
-            // it from scratch.
-            Point newHeight = controlComputeSize(widthHint - widthAdjustment, SWT.DEFAULT);
-
-            cachedHeightQuery = heightHint;
-            cachedHeightResult = newHeight.y;
-            
-            return newHeight;
-        }
-
-        // Computing a width
-        if (widthHint == SWT.DEFAULT) {
-            // If we know the control's preferred size
-            if (preferredSize != null) {
-                // If the given height is the preferred height, then return the preferred size
-                if (heightHint + heightAdjustment == preferredSize.y) {
-                    return Geometry.copy(preferredSize);
-                }
-            }
-
-            // If we have a cached width measurement with the same height hint
-            if (cachedWidthQuery == heightHint) {
-                return new Point(cachedWidthResult, heightHint + heightAdjustment);
-            }
-
-            Point widthResult = controlComputeSize(SWT.DEFAULT, heightHint - heightAdjustment);
-
-            cachedWidthQuery = heightHint;
-            cachedWidthResult = widthResult.x;
-            
-            return widthResult;
-        }
-
-        return controlComputeSize(widthHint, heightHint);
-    }
-    
-    /**
-     * Compute the control's size, and ensure that non-default hints are returned verbatim
-     * (this tries to compensate for SWT's hints, which aren't really the outer width of the
-     * control).
-     * 
-     * @param widthHint the horizontal hint
-     * @param heightHint the vertical hint
-     * @return the control's size
-     */
-    public Point computeAdjustedSize(int widthHint, int heightHint) {
-        int adjustedWidthHint = widthHint == SWT.DEFAULT ? SWT.DEFAULT : Math
-                .max(0, widthHint - widthAdjustment);
-        int adjustedHeightHint = heightHint == SWT.DEFAULT ? SWT.DEFAULT : Math
-                .max(0, heightHint - heightAdjustment);
-
-        Point result = computeSize(adjustedWidthHint, adjustedHeightHint);
-
-        // If the amounts we subtracted off the widthHint and heightHint didn't do the trick, then
-        // manually adjust the result to ensure that a non-default hint will return that result verbatim.
-        
-        return result;
-    }
-
-    /**
-     * Returns true if the preferred length of the given control is 
-     * independent of the width and visa-versa. If this returns true,
-     * then changing the widthHint argument to control.computeSize will
-     * never change the resulting height and changing the heightHint
-     * will never change the resulting width. Returns false if unknown.
-     * <p>
-     * This information can be used to improve caching. Incorrectly returning
-     * a value of false may decrease performance, but incorrectly returning 
-     * a value of true will generate incorrect layouts... so always return
-     * false if unsure.
-     * </p>
-     * 
-     * @param control
-     * @return
-     */
-    static boolean independentLengthAndWidth(Control control) {
-        if (control == null || control.isDisposed()) {
-            return true;
-        }
-
-        if (control instanceof Button || control instanceof ProgressBar
-                || control instanceof Sash || control instanceof Scale
-                || control instanceof Slider || control instanceof List
-                || control instanceof Combo || control instanceof Tree) {
-            return true;
-        }
-
-        if (control instanceof Label || control instanceof Text) {
-            return (control.getStyle() & SWT.WRAP) == 0;
-        }
-
-        // Unless we're certain that the control has this property, we should
-        // return false.
-
-        return false;
-    }
-    
-    /**
-     * Try to figure out how much we need to subtract from the hints that we
-     * pass into the given control's computeSize(...) method. This tries to
-     * compensate for bug 46112. To be removed once SWT provides an "official"
-     * way to compute one dimension of a control's size given the other known
-     * dimension.
-     * 
-     * @param control
-     */
-    private void computeHintOffset(Control control) {
-        if (control instanceof Scrollable) {
-            // For scrollables, subtract off the trim size
-            Scrollable scrollable = (Scrollable) control;
-            Rectangle trim = scrollable.computeTrim(0, 0, 0, 0);
-
-            widthAdjustment = trim.width;
-            heightAdjustment = trim.height;
-        } else {
-            // For non-composites, subtract off 2 * the border size
-            widthAdjustment = control.getBorderWidth() * 2;
-            heightAdjustment = widthAdjustment;
-        }
-    }
-
-    private Point controlComputeSize(int widthHint, int heightHint) {
-        Point result = control.computeSize(widthHint, heightHint, flushChildren);
-        flushChildren = false;
-        
-        return result;
-    }
-
-    /**
-     * Returns true only if the control will return a constant height for any
-     * width hint larger than the preferred width. Returns false if there is
-     * any situation in which the control does not have this property.
-     * 
-     * <p>
-     * Note: this method is only important for wrapping controls, and it can
-     * safely return false for anything else. AFAIK, all SWT controls have this
-     * property, but to be safe they will only be added to the list once the
-     * property has been confirmed.
-     * </p> 
-     * 
-     * @param control
-     * @return
-     */
-    private static boolean isPreferredWidthMaximum(Control control) {
-        return (control instanceof ToolBar
-        //|| control instanceof CoolBar
-        || control instanceof Label);
-    }
-    
-    public int computeMinimumWidth() {
-        if (minimumWidth == -1) {
-    		if (control instanceof Composite) {
-    			Layout layout = ((Composite)control).getLayout();
-    			if (layout instanceof ILayoutExtension) {
-    				minimumWidth = ((ILayoutExtension)layout).computeMinimumWidth((Composite)control, flushChildren);
-    				flushChildren = false;
-    			}
-    		}
-        }
-
-        if (minimumWidth == -1) {
-            Point minWidth = controlComputeSize(FormUtil.getWidthHint(5, control), SWT.DEFAULT); 
-            minimumWidth = minWidth.x;
-            heightAtMinimumWidth = minWidth.y;
-        }
-		
-		return minimumWidth;
-    }
-    
-    public int computeMaximumWidth() {
-        if (maximumWidth == -1) {
-    		if (control instanceof Composite) {
-    			Layout layout = ((Composite)control).getLayout();
-    			if (layout instanceof ILayoutExtension) {
-    				maximumWidth = ((ILayoutExtension)layout).computeMaximumWidth((Composite)control, flushChildren);
-    				flushChildren = false;
-    			}
-    		}
-        }
-
-        if (maximumWidth == -1) {
-            maximumWidth = getPreferredSize().x;
-        }
-		
-        return maximumWidth;
-	}
-    
-    private int computeHeightAtMinimumWidth() {
-        int minimumWidth = computeMinimumWidth();
-        
-        if (heightAtMinimumWidth == -1) {
-            heightAtMinimumWidth = controlComputeSize(minimumWidth - widthAdjustment, SWT.DEFAULT).y;
-        }
-        
-        return heightAtMinimumWidth;
-    }
-    
-    private int computeWidthAtMinimumHeight() {
-        int minimumHeight = computeMinimumHeight();
-        
-        if (widthAtMinimumHeight == -1) {
-            widthAtMinimumHeight = controlComputeSize(SWT.DEFAULT, minimumHeight - heightAdjustment).x;
-        }
-        
-        return widthAtMinimumHeight;
-    }
-
-    private int computeMinimumHeight() {
-        if (minimumHeight == -1) {
-            Point sizeAtMinHeight = controlComputeSize(SWT.DEFAULT, 0);
-            
-            minimumHeight = sizeAtMinHeight.y;
-            widthAtMinimumHeight = sizeAtMinHeight.x;
-        }
-        
-        return minimumHeight;
-    }
-    
-    public Point computeMinimumSize() {
-        return new Point(computeMinimumWidth(), computeMinimumHeight());
-    }
-
-    public void setSize(Point newSize) {
-        if (control != null) {
-            control.setSize(newSize);
-        }
-        
-        layoutIfNecessary();
-    }
-    
-    public void setSize(int width, int height) {
-        if (control != null) {
-            control.setSize(width, height);
-        }
-        
-        layoutIfNecessary();        
-    }
-    
-    public void setBounds(int x, int y, int width, int height) {
-        if (control != null) {
-            control.setBounds(x, y, width, height);
-        }
-        
-        layoutIfNecessary();        
-    }
-    
-    public void setBounds(Rectangle bounds) {
-        if (control != null) {
-            control.setBounds(bounds);
-        }
-        
-        layoutIfNecessary();
-    }
-
-    public void layoutIfNecessary() {
-        if (dirtySize != null && control != null && control instanceof Composite) {
-            if (control.getSize().equals(dirtySize)) {
-	            ((Composite)control).layout(flushChildren);
-	            flushChildren = false;
-            }
-        }
-        dirtySize = null;
-    }
-}
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 adbb4a2..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapData.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 convenience constructor - allows passing the horizontal alignment
-	 * style.
-	 * 
-	 * @param align
-	 *            horizontal alignment (LEFT, CENTER, RIGHT, FILL or FILL_GRAB).
-	 */
-	public TableWrapData(int align) {
-		this(align, TOP, 1, 1);
-	}
-
-	/**
-	 * The convenience 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 convenience 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 != LEFT && align != CENTER && align != RIGHT && align != FILL
-				&& align != FILL_GRAB)
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT, null, "align"); //$NON-NLS-1$
-		if (valign != TOP && valign != MIDDLE && valign != BOTTOM
-				&& valign != FILL && valign != FILL_GRAB)
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT, null, "valign"); //$NON-NLS-1$
-		if (rowspan < 1)
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT, null, "rowspan"); //$NON-NLS-1$
-		if (colspan < 1)
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT, null, "colspan"); //$NON-NLS-1$
-		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;
-	}
-}
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 7416075..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TableWrapLayout.java
+++ /dev/null
@@ -1,872 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.widgets;
-
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Vector;
-
-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 LayoutCache cache = new LayoutCache();
-
-	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;
-		}
-
-		/*
-		 * Updates this row span's height with the given one if it is within
-		 * this span.
-		 */
-		public void update(int currentRow, int rowHeight) {
-			TableWrapData td = (TableWrapData) child.getLayoutData();
-			// is currentRow within this span?
-			if (currentRow >= row && currentRow < row + td.rowspan) {
-				totalHeight += rowHeight;
-				if (currentRow > row)
-					totalHeight += verticalSpacing;
-			}
-		}
-
-		public int getRequiredHeightIncrease() {
-			if (totalHeight < height)
-				return height - totalHeight;
-			return 0;
-		}
-	}
-
-	/**
-	 * Implements ILayoutExtension. Should not be called directly.
-	 * 
-	 * @see ILayoutExtension
-	 */
-	public int computeMinimumWidth(Composite parent, boolean changed) {
-
-		Control[] children = parent.getChildren();
-		if (changed) {
-			cache.flush();
-		}
-
-		cache.setControls(children);
-
-		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) {
-		Control[] children = parent.getChildren();
-		if (changed) {
-			cache.flush();
-		}
-
-		cache.setControls(children);
-
-		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 (changed) {
-			cache.flush();
-		}
-
-		if (children.length == 0)
-			return;
-
-		cache.setControls(children);
-
-		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+clientArea.y;
-		int[] rowHeights = computeRowHeights(children, columnWidths, changed);
-		for (int i = 0; i < grid.size(); i++) {
-			int rowHeight = rowHeights[i];
-			int x = leftMargin+clientArea.x;
-			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(td.childIndex, cwidth, td.indent, td.maxWidth, td.maxHeight);
-				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 enm = rowspans.elements(); enm.hasMoreElements();) {
-			RowSpan rowspan = (RowSpan) enm.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(int childIndex, int width, int indent, int maxWidth, int maxHeight) {
-		int widthArg = width - indent;
-		SizeCache controlCache = cache.getCache(childIndex);
-		if (!isWrap(controlCache.getControl()))
-			widthArg = SWT.DEFAULT;
-		Point size = controlCache.computeSize(widthArg, SWT.DEFAULT);
-		if (maxWidth!=SWT.DEFAULT)
-			size.x = Math.min(size.x, maxWidth);
-		if (maxHeight!=SWT.DEFAULT)
-			size.y = Math.min(size.y, maxHeight);
-		size.x += indent;
-		return size;
-	}
-
-	void placeControl(Control control, TableWrapData td, int x, int y,
-			int[] rowHeights, int row) {
-		int xloc = x + td.indent;
-		int yloc = y;
-		int height = td.compSize.y;
-		int colWidth = td.compWidth - td.indent;
-		int width = td.compSize.x-td.indent;
-		width = Math.min(width, 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 (changed) {
-			cache.flush();
-		}
-		if (children.length == 0) {
-			return new Point(0, 0);
-		}
-		cache.setControls(children);
-
-		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);
-		
-		if (wHint == SWT.DEFAULT)
-			parentWidth = maxWidth;
-		
-		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(td.childIndex, cwidth, td.indent, td.maxWidth, td.maxHeight);
-					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 enm = rowspans.elements(); enm.hasMoreElements();) {
-			RowSpan rowspan = (RowSpan) enm.nextElement();
-			rowspan.update(row, rowHeight);
-		}
-	}
-
-	private int compensateForRowSpans(int totalHeight) {
-		for (Enumeration enm = rowspans.elements(); enm.hasMoreElements();) {
-			RowSpan rowspan = (RowSpan) enm.nextElement();
-			totalHeight += rowspan.getRequiredHeightIncrease();
-		}
-		return totalHeight;
-	}
-
-	int internalGetMinimumWidth(Composite parent, boolean changed) {
-		if (changed)
-			//calculateMinimumColumnWidths(parent, true);
-			calculateColumnWidths(parent, minColumnWidths, false, 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);
-			calculateColumnWidths(parent, maxColumnWidths, true, 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 calculateColumnWidths(Composite parent, int [] columnWidths, boolean max, boolean changed) {
-		boolean secondPassNeeded=false;
-		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;
-				
-				if (td.colspan>1) {
-					// we will not do controls with multiple column span
-					// here - increment and continue
-					secondPassNeeded=true;
-					j+=td.colspan-1;
-					continue;
-				}
-
-				SizeCache childCache = cache.getCache(td.childIndex);
-				// !!
-				int width = max?childCache.computeMaximumWidth():childCache.computeMinimumWidth();
-				if (td.maxWidth!=SWT.DEFAULT)
-					width = Math.min(width, td.maxWidth);
-
-				width += td.indent;
-				columnWidths[j] = Math.max(columnWidths[j], width);
-			}
-		}
-		if (!secondPassNeeded) return;
-		
-		// Second pass for controls with multi-column horizontal span
-		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 || td.colspan==1)
-					continue;
-
-				SizeCache childCache = cache.getCache(td.childIndex);
-				int width = max?childCache.computeMaximumWidth():childCache.computeMinimumWidth();
-				if (td.maxWidth!=SWT.DEFAULT)
-					width = Math.min(width, td.maxWidth);
-
-				width += td.indent;
-				// check if the current width is enough to
-				// support the control; if not, add the delta to
-				// the last column or to all the growing columns, if present
-				int current = 0;
-				for (int k = j; k < j + td.colspan; k++) {
-					if (k > j)
-						current += horizontalSpacing;
-					current += columnWidths[k];
-				}
-				if (width <= 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
-						columnWidths[j + td.colspan - 1] += width
-								- current;
-					} else {
-						// distribute the delta to the growing
-						// columns
-						int percolumn = (width - current) / ndiv;
-						if ((width - current) % ndiv > 0)
-							percolumn++;
-						for (int k = j; k < j + td.colspan; k++) {
-							if (isGrowingColumn(k))
-								columnWidths[k] += percolumn;
-						}
-					}
-				}
-			}
-		}		
-	}	
-	
-	boolean isWrap(Control control) {
-		if (control instanceof Composite
-				&& ((Composite) control).getLayout() instanceof ILayoutExtension)
-			return true;
-		return (control.getStyle() & SWT.WRAP) != 0;
-	}	
-
-	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());
-			}
-		}
-	}
-}
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 f39d797..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ToggleHyperlink.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.*;
-import org.eclipse.ui.internal.forms.Messages;
-/**
- * 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;
-	protected boolean hover;
-	private boolean expanded;	
-	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);
-		Listener listener = new Listener() {
-			public void handleEvent(Event e) {
-				switch (e.type) {
-					case SWT.MouseEnter:
-						hover=true;
-						redraw();
-						break;
-					case SWT.MouseExit:
-						hover = false;
-						redraw();
-						break;
-					case SWT.KeyDown:
-						onKeyDown(e);
-						break;
-				}
-			}
-		};
-		addListener(SWT.MouseEnter, listener);
-		addListener(SWT.MouseExit, listener);
-		addListener(SWT.KeyDown, listener);
-		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.
-	 * @since 3.1
-	 */
-	public Color getHoverDecorationColor() {
-		return hoverColor;
-	}
-	
-	/**
-	 * Returns the hover color of the decoration.
-	 * 
-	 * @return the hover color of the decoration.
-	 * @deprecated use <code>getHoverDecorationColor</code>
-	 * @see #getHoverDecorationColor()
-	 */
-	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 expanded the expansion state
-	 */
-	public void setExpanded(boolean expanded) {
-		this.expanded = expanded;
-		getAccessible().selectionChanged();
-		redraw();
-	}
-	private void initAccessible() {
-		getAccessible().addAccessibleListener(new AccessibleAdapter() {
-			public void getHelp(AccessibleEvent e) {
-				e.result = getToolTipText();
-			}
-			public void getName(AccessibleEvent e) {
-				String name=Messages.ToggleHyperlink_accessibleName;
-				if (getParent() instanceof ExpandableComposite) {
-					name += Messages.ToggleHyperlink_accessibleColumn+((ExpandableComposite)getParent()).getText();
-					int index = name.indexOf('&');
-					if (index != -1) {
-						name = name.substring(0, index) + name.substring(index + 1);
-					}
-				}
-				e.result = name;
-			}
-			public void getDescription(AccessibleEvent e) {
-				getName(e);
-			}
-		});
-		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 getSelection (AccessibleControlEvent e) {
-						if (ToggleHyperlink.this.getSelection()) 
-							e.childID = ACC.CHILDID_SELF;
-					}
-					
-					public void getFocus (AccessibleControlEvent e) {
-						if (ToggleHyperlink.this.getSelection()) 
-							e.childID = ACC.CHILDID_SELF;
-					}					
-					public void getChildCount(AccessibleControlEvent e) {
-						e.detail = 0;
-					}
-					public void getRole(AccessibleControlEvent e) {
-						e.detail = ACC.ROLE_TREE;
-					}
-					public void getState(AccessibleControlEvent e) {
-						int state = ACC.STATE_FOCUSABLE;
-						if (ToggleHyperlink.this.getSelection())
-							state |= ACC.STATE_FOCUSED;
-						state |= ToggleHyperlink.this.isExpanded()
-								? ACC.STATE_EXPANDED
-								: ACC.STATE_COLLAPSED;
-						e.detail = state;
-					}
-				});
-	}
-	private void onKeyDown(Event e) {
-		if (e.keyCode==SWT.ARROW_RIGHT) {
-			// expand if collapsed
-			if (!isExpanded()) {
-				handleActivate(e);
-			}
-			e.doit=false;
-		}
-		else if (e.keyCode==SWT.ARROW_LEFT) {
-			// collapse if expanded
-			if (isExpanded()) {
-				handleActivate(e);
-			}
-			e.doit=false;
-		}
-	}
-}
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 37952c6..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/TreeNode.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 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 (paintFocus && getSelection()) {
-			gc.setForeground(getForeground());
-			gc.drawFocus(box.x - 1, box.y - 1, box.width + 3, box.height + 3);
-		}
-	}
-	private Rectangle getBoxBounds(GC gc) {
-		int x = 1;
-		int y = 0;
-		gc.setFont(getFont());
-		//int height = gc.getFontMetrics().getHeight();
-		//y = height / 2 - 4;
-		//y = Math.max(y, 0);
-		y = 2;
-		return new Rectangle(x, y, 8, 8);
-	}
-}
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 ad082d4..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/Twistie.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-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 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, style);
-		innerWidth = 9;
-		innerHeight = 9;
-	}
-
-	/*
-	 * @see SelectableControl#paint(GC)
-	 */
-	protected void paintHyperlink(GC gc) {
-		Color bg;
-		if (!isEnabled())
-			bg = getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
-		else if (hover && getHoverDecorationColor() != null)
-			bg = getHoverDecorationColor();
-		else if (getDecorationColor() != null)
-			bg = getDecorationColor();
-		else
-			bg = getForeground();
-		gc.setBackground(bg);
-		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;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.swt.widgets.Control#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enabled) {
-		super.setEnabled(enabled);
-		redraw();
-	}
-}
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/IMessageToolTipManager.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/IMessageToolTipManager.java
deleted file mode 100644
index 95ab2f3..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/IMessageToolTipManager.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.internal.forms;
-
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.forms.IMessageManager;
-import org.eclipse.ui.forms.widgets.Form;
-
-/**
- * The classes that implement this interface are responsible for managing custom
- * tool tips for message-related controls in the form header. By default, a
- * simple manager is installed by the form that uses the built-in widget tool
- * tips for this purpose. Clients can replace this behaviour with richer tool
- * tips that show images, links and other content.
- * <p>
- * The message-related controls in the header are:
- * <ul>
- * <li>Image label - used to replace the form title image with the message type
- * image</li>
- * <li>Message label - renders the message as a static text.</li>
- * <li>Message hyperlink - renders the message as a hyperlink.</li>
- * </ul>
- * The message manager will be asked to create the tool tip for any and all of
- * the controls listed above in its factory method. After that, it will be asked
- * to update whenever the message information changes in the form. For this
- * reason, the manager is expected to retain references to the tool tips and
- * update them with new content when asked.
- * 
- * @see IMessageManager
- * @see Form
- *      <p>
- *      <strong>EXPERIMENTAL</strong>. This class or interface has been added
- *      as part of a work in progress. There is no guarantee that this API will
- *      work or that it will remain the same. Please do not use this API without
- *      consulting with the Platform UA team.
- *      </p>
- * @since 3.3
- */
-public interface IMessageToolTipManager {
-	/**
-	 * Creates the custom tool tip for the provided control.
-	 * 
-	 * @param control
-	 *            the control for which to create a custom tool tip
-	 * @param imageControl
-	 *            <code>true</code> if the control is used to render the title
-	 *            image, <code>false</code> otherwise.
-	 */
-	void createToolTip(Control control, boolean imageControl);
-
-	/**
-	 * Updates all the managed tool tips. The manager should get the current
-	 * message, message type and optional children messages from the form to
-	 * update the custom tool tips.
-	 */
-	void update();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/MessageManager.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/MessageManager.java
deleted file mode 100644
index 8cbeff4..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/MessageManager.java
+++ /dev/null
@@ -1,598 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.ui.internal.forms;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.fieldassist.ControlDecoration;
-import org.eclipse.jface.fieldassist.FieldDecoration;
-import org.eclipse.jface.fieldassist.FieldDecorationRegistry;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.forms.IMessage;
-import org.eclipse.ui.forms.IMessageManager;
-import org.eclipse.ui.forms.IMessagePrefixProvider;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-
-/**
- * @see IMessageManager
- */
-
-public class MessageManager implements IMessageManager {
-	private static final DefaultPrefixProvider DEFAULT_PREFIX_PROVIDER = new DefaultPrefixProvider();
-	private ArrayList messages = new ArrayList();
-	private Hashtable decorators = new Hashtable();
-	private boolean autoUpdate = true;
-	private ScrolledForm scrolledForm;
-	private IMessagePrefixProvider prefixProvider = DEFAULT_PREFIX_PROVIDER;
-	private int decorationPosition = SWT.LEFT | SWT.BOTTOM;
-	private static FieldDecoration standardError = FieldDecorationRegistry
-			.getDefault().getFieldDecoration(FieldDecorationRegistry.DEC_ERROR);
-	private static FieldDecoration standardWarning = FieldDecorationRegistry
-			.getDefault().getFieldDecoration(
-					FieldDecorationRegistry.DEC_WARNING);
-
-	private static final String[] SINGLE_MESSAGE_SUMMARY_KEYS = {
-			Messages.MessageManager_sMessageSummary,
-			Messages.MessageManager_sMessageSummary,
-			Messages.MessageManager_sWarningSummary,
-			Messages.MessageManager_sErrorSummary };
-
-	private static final String[] MULTIPLE_MESSAGE_SUMMARY_KEYS = {
-			Messages.MessageManager_pMessageSummary,
-			Messages.MessageManager_pMessageSummary,
-			Messages.MessageManager_pWarningSummary,
-			Messages.MessageManager_pErrorSummary };
-
-	static class Message implements IMessage {
-		Control control;
-		Object data;
-		Object key;
-		String message;
-		int type;
-		String prefix;
-
-		Message(Object key, String message, int type, Object data) {
-			this.key = key;
-			this.message = message;
-			this.type = type;
-			this.data = data;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.dialogs.IMessage#getKey()
-		 */
-		public Object getKey() {
-			return key;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.dialogs.IMessageProvider#getMessage()
-		 */
-		public String getMessage() {
-			return message;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.dialogs.IMessageProvider#getMessageType()
-		 */
-		public int getMessageType() {
-			return type;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.ui.forms.messages.IMessage#getControl()
-		 */
-		public Control getControl() {
-			return control;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.ui.forms.messages.IMessage#getData()
-		 */
-		public Object getData() {
-			return data;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.ui.forms.messages.IMessage#getPrefix()
-		 */
-		public String getPrefix() {
-			return prefix;
-		}
-	}
-
-	static class DefaultPrefixProvider implements IMessagePrefixProvider {
-
-		public String getPrefix(Control c) {
-			Composite parent = c.getParent();
-			Control[] siblings = parent.getChildren();
-			for (int i = 0; i < siblings.length; i++) {
-				if (siblings[i] == c) {
-					// this is us - go backward until you hit
-					// a label-like widget
-					for (int j = i - 1; j >= 0; j--) {
-						Control label = siblings[j];
-						String ltext = null;
-						if (label instanceof Label) {
-							ltext = ((Label) label).getText();
-						} else if (label instanceof Hyperlink) {
-							ltext = ((Hyperlink) label).getText();
-						} else if (label instanceof CLabel) {
-							ltext = ((CLabel) label).getText();
-						}
-						if (ltext != null) {
-							if (!ltext.endsWith(":")) //$NON-NLS-1$
-								return ltext + ": "; //$NON-NLS-1$
-							return ltext + " "; //$NON-NLS-1$
-						}
-					}
-					break;
-				}
-			}
-			return null;
-		}
-	}
-
-	class ControlDecorator {
-		private ControlDecoration decoration;
-		private ArrayList controlMessages = new ArrayList();
-		private String prefix;
-
-		ControlDecorator(Control control) {
-			this.decoration = new ControlDecoration(control, decorationPosition, scrolledForm.getBody());
-		}
-
-		public boolean isDisposed() {
-			return decoration.getControl() == null;
-		}
-
-		void updatePrefix() {
-			prefix = null;
-		}
-
-		void updatePosition() {
-			Control control = decoration.getControl();
-			decoration.dispose();
-			this.decoration = new ControlDecoration(control, decorationPosition, scrolledForm.getBody());
-			update();
-		}
-
-		String getPrefix() {
-			if (prefix == null)
-				createPrefix();
-			return prefix;
-		}
-
-		private void createPrefix() {
-			if (prefixProvider == null) {
-				prefix = ""; //$NON-NLS-1$
-				return;
-			}
-			prefix = prefixProvider.getPrefix(decoration.getControl());
-			if (prefix == null)
-				// make a prefix anyway
-				prefix = ""; //$NON-NLS-1$
-		}
-
-		void addAll(ArrayList target) {
-			target.addAll(controlMessages);
-		}
-
-		void addMessage(Object key, String text, Object data, int type) {
-			Message message = MessageManager.this.addMessage(getPrefix(), key,
-					text, data, type, controlMessages);
-			message.control = decoration.getControl();
-			if (isAutoUpdate())
-				update();
-		}
-
-		boolean removeMessage(Object key) {
-			Message message = findMessage(key, controlMessages);
-			if (message != null) {
-				controlMessages.remove(message);
-				if (isAutoUpdate())
-					update();
-			}
-			return message != null;
-		}
-
-		boolean removeMessages() {
-			if (controlMessages.isEmpty())
-				return false;
-			controlMessages.clear();
-			if (isAutoUpdate())
-				update();
-			return true;
-		}
-
-		public void update() {
-			if (controlMessages.isEmpty()) {
-				decoration.setDescriptionText(null);
-				decoration.hide();
-			} else {
-				ArrayList peers = createPeers(controlMessages);
-				int type = ((IMessage) peers.get(0)).getMessageType();
-				String description = createDetails(createPeers(peers), true);
-				if (type == IMessageProvider.ERROR)
-					decoration.setImage(standardError.getImage());
-				else if (type == IMessageProvider.WARNING)
-					decoration.setImage(standardWarning.getImage());
-				decoration.setDescriptionText(description);
-				decoration.show();
-			}
-		}
-	}
-
-	/**
-	 * Creates a new instance of the message manager that will work with the
-	 * provided form.
-	 * 
-	 * @param scrolledForm
-	 *            the form to control
-	 */
-	public MessageManager(ScrolledForm scrolledForm) {
-		this.scrolledForm = scrolledForm;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IMessageManager#addMessage(java.lang.Object,
-	 *      java.lang.String, int)
-	 */
-	public void addMessage(Object key, String messageText, Object data, int type) {
-		addMessage(null, key, messageText, data, type, messages);
-		if (isAutoUpdate())
-			updateForm();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IMessageManager#addMessage(java.lang.Object,
-	 *      java.lang.String, int, org.eclipse.swt.widgets.Control)
-	 */
-	public void addMessage(Object key, String messageText, Object data,
-			int type, Control control) {
-		ControlDecorator dec = (ControlDecorator) decorators.get(control);
-
-		if (dec == null) {
-			dec = new ControlDecorator(control);
-			decorators.put(control, dec);
-		}
-		dec.addMessage(key, messageText, data, type);
-		if (isAutoUpdate())
-			updateForm();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IMessageManager#removeMessage(java.lang.Object)
-	 */
-	public void removeMessage(Object key) {
-		Message message = findMessage(key, messages);
-		if (message != null) {
-			messages.remove(message);
-			if (isAutoUpdate())
-				updateForm();
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IMessageManager#removeMessages()
-	 */
-	public void removeMessages() {
-		if (!messages.isEmpty()) {
-			messages.clear();
-			if (isAutoUpdate())
-				updateForm();
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IMessageManager#removeMessage(java.lang.Object,
-	 *      org.eclipse.swt.widgets.Control)
-	 */
-	public void removeMessage(Object key, Control control) {
-		ControlDecorator dec = (ControlDecorator) decorators.get(control);
-		if (dec == null)
-			return;
-		if (dec.removeMessage(key))
-			if (isAutoUpdate())
-				updateForm();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IMessageManager#removeMessages(org.eclipse.swt.widgets.Control)
-	 */
-	public void removeMessages(Control control) {
-		ControlDecorator dec = (ControlDecorator) decorators.get(control);
-		if (dec != null) {
-			if (dec.removeMessages()) {
-				if (isAutoUpdate())
-					updateForm();
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IMessageManager#removeAllMessages()
-	 */
-	public void removeAllMessages() {
-		boolean needsUpdate = false;
-		for (Enumeration enm = decorators.elements(); enm.hasMoreElements();) {
-			ControlDecorator control = (ControlDecorator) enm.nextElement();
-			if (control.removeMessages())
-				needsUpdate = true;
-		}
-		if (!messages.isEmpty()) {
-			messages.clear();
-			needsUpdate = true;
-		}
-		if (needsUpdate && isAutoUpdate())
-			updateForm();
-	}
-
-	/*
-	 * Adds the message if it does not already exist in the provided list.
-	 */
-
-	private Message addMessage(String prefix, Object key, String messageText,
-			Object data, int type, ArrayList list) {
-		Message message = findMessage(key, list);
-		if (message == null) {
-			message = new Message(key, messageText, type, data);
-			message.prefix = prefix;
-			list.add(message);
-		} else {
-			message.message = messageText;
-			message.type = type;
-			message.data = data;
-		}
-		return message;
-	}
-
-	/*
-	 * Finds the message with the provided key in the provided list.
-	 */
-
-	private Message findMessage(Object key, ArrayList list) {
-		for (int i = 0; i < list.size(); i++) {
-			Message message = (Message) list.get(i);
-			if (message.getKey().equals(key))
-				return message;
-		}
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IMessageManager#update()
-	 */
-	public void update() {
-		// Update decorations
-		for (Iterator iter = decorators.values().iterator(); iter.hasNext();) {
-			ControlDecorator dec = (ControlDecorator) iter.next();
-			dec.update();
-		}
-		// Update the form
-		updateForm();
-	}
-
-	/*
-	 * Updates the container by rolling the messages up from the controls.
-	 */
-
-	private void updateForm() {
-		ArrayList mergedList = new ArrayList();
-		mergedList.addAll(messages);
-		for (Enumeration enm = decorators.elements(); enm.hasMoreElements();) {
-			ControlDecorator dec = (ControlDecorator) enm.nextElement();
-			dec.addAll(mergedList);
-		}
-		update(mergedList);
-	}
-
-	private void update(ArrayList mergedList) {
-		pruneControlDecorators();
-		if (mergedList.isEmpty() || mergedList == null) {
-			scrolledForm.setMessage(null, IMessageProvider.NONE);
-			return;
-		}
-		ArrayList peers = createPeers(mergedList);
-		int maxType = ((IMessage) peers.get(0)).getMessageType();
-		String messageText;
-		IMessage[] array = (IMessage[]) peers
-				.toArray(new IMessage[peers.size()]);
-		if (peers.size() == 1 && ((Message) peers.get(0)).prefix == null) {
-			// a single message
-			IMessage message = (IMessage) peers.get(0);
-			messageText = message.getMessage();
-			scrolledForm.setMessage(messageText, maxType, array);
-		} else {
-			// show a summary message for the message
-			// and list of errors for the details
-			if (peers.size() > 1)
-				messageText = Messages.bind(
-						MULTIPLE_MESSAGE_SUMMARY_KEYS[maxType],
-						new String[] { peers.size() + "" }); //$NON-NLS-1$
-			else
-				messageText = SINGLE_MESSAGE_SUMMARY_KEYS[maxType];
-			scrolledForm.setMessage(messageText, maxType, array);
-		}
-	}
-
-	private static String getFullMessage(IMessage message) {
-		if (message.getPrefix() == null)
-			return message.getMessage();
-		return message.getPrefix() + message.getMessage();
-	}
-
-	private ArrayList createPeers(ArrayList messages) {
-		ArrayList peers = new ArrayList();
-		int maxType = 0;
-		for (int i = 0; i < messages.size(); i++) {
-			Message message = (Message) messages.get(i);
-			if (message.type > maxType) {
-				peers.clear();
-				maxType = message.type;
-			}
-			if (message.type == maxType)
-				peers.add(message);
-		}
-		return peers;
-	}
-
-	private String createDetails(ArrayList messages, boolean excludePrefix) {
-		StringWriter sw = new StringWriter();
-		PrintWriter out = new PrintWriter(sw);
-
-		for (int i = 0; i < messages.size(); i++) {
-			if (i > 0)
-				out.println();
-			IMessage m = (IMessage) messages.get(i);
-			out.print(excludePrefix ? m.getMessage() : getFullMessage(m));
-		}
-		out.flush();
-		return sw.toString();
-	}
-
-	public static String createDetails(IMessage[] messages) {
-		if (messages == null || messages.length == 0)
-			return null;
-		StringWriter sw = new StringWriter();
-		PrintWriter out = new PrintWriter(sw);
-
-		for (int i = 0; i < messages.length; i++) {
-			if (i > 0)
-				out.println();
-			out.print(getFullMessage(messages[i]));
-		}
-		out.flush();
-		return sw.toString();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IMessageManager#createSummary(org.eclipse.ui.forms.IMessage[])
-	 */
-	public String createSummary(IMessage[] messages) {
-		return createDetails(messages);
-	}
-
-	private void pruneControlDecorators() {
-		for (Iterator iter = decorators.values().iterator(); iter.hasNext();) {
-			ControlDecorator dec = (ControlDecorator) iter.next();
-			if (dec.isDisposed())
-				iter.remove();
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IMessageManager#getMessagePrefixProvider()
-	 */
-	public IMessagePrefixProvider getMessagePrefixProvider() {
-		return prefixProvider;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IMessageManager#setMessagePrefixProvider(org.eclipse.ui.forms.IMessagePrefixProvider)
-	 */
-	public void setMessagePrefixProvider(IMessagePrefixProvider provider) {
-		this.prefixProvider = provider;
-		for (Iterator iter = decorators.values().iterator(); iter.hasNext();) {
-			ControlDecorator dec = (ControlDecorator) iter.next();
-			dec.updatePrefix();
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IMessageManager#getDecorationPosition()
-	 */
-	public int getDecorationPosition() {
-		return decorationPosition;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IMessageManager#setDecorationPosition(int)
-	 */
-	public void setDecorationPosition(int position) {
-		this.decorationPosition = position;
-		for (Iterator iter = decorators.values().iterator(); iter.hasNext();) {
-			ControlDecorator dec = (ControlDecorator) iter.next();
-			dec.updatePosition();
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IMessageManager#isAutoUpdate()
-	 */
-	public boolean isAutoUpdate() {
-		return autoUpdate;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.IMessageManager#setAutoUpdate(boolean)
-	 */
-	public void setAutoUpdate(boolean autoUpdate) {
-		boolean needsUpdate = !this.autoUpdate && autoUpdate;
-		this.autoUpdate = autoUpdate;
-		if (needsUpdate)
-			update();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/Messages.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/Messages.java
deleted file mode 100644
index df0112b..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/Messages.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.ui.internal.forms.Messages"; //$NON-NLS-1$
-
-	private Messages() {
-	}
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	public static String FormDialog_defaultTitle;
-	public static String FormText_copy;
-	public static String Form_tooltip_minimize;
-	public static String Form_tooltip_restore;
-	/* 
-	 * Message manager
-	 */
-	public static String MessageManager_sMessageSummary;
-	public static String MessageManager_sWarningSummary;
-	public static String MessageManager_sErrorSummary;
-	public static String MessageManager_pMessageSummary;
-	public static String MessageManager_pWarningSummary;
-	public static String MessageManager_pErrorSummary;
-	public static String ToggleHyperlink_accessibleColumn;
-	public static String ToggleHyperlink_accessibleName;		
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/Messages.properties b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/Messages.properties
deleted file mode 100644
index 8dd12fa..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/Messages.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-FormText_copy=&Copy
-Form_tooltip_minimize=Minimize
-FormDialog_defaultTitle=Form Dialog
-Form_tooltip_restore=Restore
-
-#Message manager
-MessageManager_sMessageSummary = 1 message detected
-MessageManager_sWarningSummary = 1 warning detected
-MessageManager_sErrorSummary = 1 error detected
-MessageManager_pMessageSummary = {0} messages detected 
-MessageManager_pWarningSummary = {0} warnings detected
-MessageManager_pErrorSummary = {0} errors detected
-ToggleHyperlink_accessibleName=Expandable
-ToggleHyperlink_accessibleColumn=: 
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/AggregateHyperlinkSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/AggregateHyperlinkSegment.java
deleted file mode 100644
index 839e9a7..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/AggregateHyperlinkSegment.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.Hashtable;
-import java.util.Vector;
-
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Rectangle;
-
-/**
- * This segment contains a collection of images and links that all belong to one
- * logical hyperlink.
- */
-public class AggregateHyperlinkSegment extends ParagraphSegment implements
-		IHyperlinkSegment {
-	private String href;
-
-	private Vector segments = new Vector();
-
-	public AggregateHyperlinkSegment() {
-	}
-
-	public void add(TextHyperlinkSegment segment) {
-		segments.add(segment);
-	}
-
-	public void add(ImageHyperlinkSegment segment) {
-		segments.add(segment);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.ParagraphSegment#advanceLocator(org.eclipse.swt.graphics.GC,
-	 *      int, org.eclipse.ui.internal.forms.widgets.Locator,
-	 *      java.util.Hashtable, boolean)
-	 */
-	public boolean advanceLocator(GC gc, int wHint, Locator loc,
-			Hashtable objectTable, boolean computeHeightOnly) {
-		boolean newLine = false;
-		for (int i = 0; i < segments.size(); i++) {
-			ParagraphSegment segment = (ParagraphSegment) segments.get(i);
-			if (segment.advanceLocator(gc, wHint, loc, objectTable,
-					computeHeightOnly))
-				newLine = true;
-		}
-		return newLine;
-	}
-
-	/**
-	 * @return Returns the href.
-	 */
-	public String getHref() {
-		return href;
-	}
-
-	/**
-	 * @param href
-	 *            The href to set.
-	 */
-	public void setHref(String href) {
-		this.href = href;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.IHyperlinkSegment#repaint(org.eclipse.swt.graphics.GC,
-	 *      boolean)
-	 */
-	public void paint(GC gc, boolean hover, Hashtable resourceTable,
-			boolean selected, SelectionData selData, Rectangle repaintRegion) {
-		for (int i = 0; i < segments.size(); i++) {
-			ParagraphSegment segment = (ParagraphSegment) segments.get(i);
-			segment.paint(gc, hover, resourceTable, selected, selData,
-					repaintRegion);
-		}
-	}
-
-	public String getText() {
-		StringBuffer buf = new StringBuffer();
-		for (int i = 0; i < segments.size(); i++) {
-			IHyperlinkSegment segment = (IHyperlinkSegment) segments.get(i);
-			buf.append(segment.getText());
-		}
-		return buf.toString();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.IHyperlinkSegment#paintFocus(org.eclipse.swt.graphics.GC,
-	 *      org.eclipse.swt.graphics.Color, org.eclipse.swt.graphics.Color,
-	 *      boolean)
-	 */
-	public void paintFocus(GC gc, Color bg, Color fg, boolean selected,
-			Rectangle repaintRegion) {
-		for (int i = 0; i < segments.size(); i++) {
-			IHyperlinkSegment segment = (IHyperlinkSegment) segments.get(i);
-			segment.paintFocus(gc, bg, fg, selected, repaintRegion);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.IHyperlinkSegment#getBounds()
-	 */
-	public Rectangle getBounds() {
-		Rectangle bounds = new Rectangle(Integer.MAX_VALUE, Integer.MAX_VALUE,
-				0, 0);
-		// TODO this is wrong
-		for (int i = 0; i < segments.size(); i++) {
-			IHyperlinkSegment segment = (IHyperlinkSegment) segments.get(i);
-			Rectangle sbounds = segment.getBounds();
-			bounds.x = Math.min(bounds.x, sbounds.x);
-			bounds.y = Math.min(bounds.y, sbounds.y);
-			bounds.width = Math.max(bounds.width, sbounds.width);
-			bounds.height = Math.max(bounds.height, sbounds.height);
-		}
-		return bounds;
-	}
-
-	public boolean contains(int x, int y) {
-		for (int i = 0; i < segments.size(); i++) {
-			IHyperlinkSegment segment = (IHyperlinkSegment) segments.get(i);
-			if (segment.contains(x, y))
-				return true;
-		}
-		return false;
-	}
-
-	public boolean intersects(Rectangle rect) {
-		for (int i = 0; i < segments.size(); i++) {
-			IHyperlinkSegment segment = (IHyperlinkSegment) segments.get(i);
-			if (segment.intersects(rect))
-				return true;
-		}
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.ParagraphSegment#layout(org.eclipse.swt.graphics.GC,
-	 *      int, org.eclipse.ui.internal.forms.widgets.Locator,
-	 *      java.util.Hashtable, boolean,
-	 *      org.eclipse.ui.internal.forms.widgets.SelectionData)
-	 */
-	public void layout(GC gc, int width, Locator locator,
-			Hashtable resourceTable, boolean selected) {
-		for (int i = 0; i < segments.size(); i++) {
-			ParagraphSegment segment = (ParagraphSegment) segments.get(i);
-			segment.layout(gc, width, locator, resourceTable, selected);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.ParagraphSegment#computeSelection(org.eclipse.swt.graphics.GC,
-	 *      java.util.Hashtable, boolean,
-	 *      org.eclipse.ui.internal.forms.widgets.SelectionData)
-	 */
-	public void computeSelection(GC gc, Hashtable resourceTable,
-			SelectionData selData) {
-		for (int i = 0; i < segments.size(); i++) {
-			ParagraphSegment segment = (ParagraphSegment) segments.get(i);
-			segment.computeSelection(gc, resourceTable, selData);
-		}
-	}
-
-	public void clearCache(String fontId) {
-		for (int i = 0; i < segments.size(); i++) {
-			ParagraphSegment segment = (ParagraphSegment) segments.get(i);
-			segment.clearCache(fontId);
-		}
-	}
-
-	public String getTooltipText() {
-		if (segments.size() > 0)
-			return ((ParagraphSegment) segments.get(0)).getTooltipText();
-		return super.getTooltipText();
-	}
-
-	public boolean isFocusSelectable(Hashtable resourceTable) {
-		return true;
-	}
-
-	public boolean setFocus(Hashtable resourceTable, boolean direction) {
-		return true;
-	}
-}
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 435dad3..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BreakSegment.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Rectangle;
-
-/**
- * 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 (locator.rowHeight==0) {
-			FontMetrics fm = gc.getFontMetrics();
-			locator.rowHeight = fm.getHeight();
-		}
-		if (computeHeightOnly) locator.collectHeights();		
-		locator.x = locator.indent;
-		locator.y += locator.rowHeight;
-		locator.rowHeight = 0;
-		locator.leading = 0;
-		return true;
-	}
-
-	public void paint(GC gc, boolean hover, Hashtable resourceTable, boolean selected, SelectionData selData, Rectangle repaintRegion) {
-		//nothing to paint
-	}
-	public boolean contains(int x, int y) {
-		return false;
-	}
-	public boolean intersects(Rectangle rect) {
-		return false;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.forms.widgets.ParagraphSegment#layout(org.eclipse.swt.graphics.GC, int, org.eclipse.ui.internal.forms.widgets.Locator, java.util.Hashtable, boolean, org.eclipse.ui.internal.forms.widgets.SelectionData)
-	 */
-	public void layout(GC gc, int width, Locator locator, Hashtable ResourceTable,
-			boolean selected) {
-		locator.resetCaret();
-		if (locator.rowHeight==0) {
-			FontMetrics fm = gc.getFontMetrics();
-			locator.rowHeight = fm.getHeight();
-		}
-		locator.y += locator.rowHeight;
-		locator.rowHeight = 0;
-		locator.rowCounter++;		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.forms.widgets.ParagraphSegment#computeSelection(org.eclipse.swt.graphics.GC, java.util.Hashtable, boolean, org.eclipse.ui.internal.forms.widgets.SelectionData)
-	 */
-	public void computeSelection(GC gc, Hashtable resourceTable, SelectionData selData) {
-		selData.markNewLine();
-	}
-}
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 c804e08..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BulletParagraph.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-
-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;
-
-	private Rectangle bbounds;
-
-	/**
-	 * 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 layout(GC gc, int width, Locator loc, int lineHeight,
-			Hashtable resourceTable, IHyperlinkSegment selectedLink) {
-		computeRowHeights(gc, width, loc, lineHeight, resourceTable);
-		layoutBullet(gc, loc, lineHeight, resourceTable);
-		super.layout(gc, width, loc, lineHeight, resourceTable, selectedLink);
-	}
-
-	public void paint(GC gc, Rectangle repaintRegion,
-			Hashtable resourceTable, IHyperlinkSegment selectedLink,
-			SelectionData selData) {
-		paintBullet(gc, repaintRegion, resourceTable);
-		super.paint(gc, repaintRegion, resourceTable, selectedLink, selData);
-	}
-
-	private void layoutBullet(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;
-			bbounds = new Rectangle(x, y, CIRCLE_DIAM, CIRCLE_DIAM);
-		} else if (style == TEXT && text != null) {
-			//int height = gc.getFontMetrics().getHeight();
-			Point textSize = gc.textExtent(text);
-			bbounds = new Rectangle(x, loc.y, textSize.x, textSize.y);
-		} else if (style == IMAGE && text != null) {
-			Image image = (Image) resourceTable.get(text);
-			if (image != null) {
-				Rectangle ibounds = image.getBounds();
-				int y = loc.y + rowHeight / 2 - ibounds.height / 2;
-				bbounds = new Rectangle(x, y, ibounds.width, ibounds.height);
-			}
-		}
-	}
-
-	public void paintBullet(GC gc, Rectangle repaintRegion,
-			Hashtable resourceTable) {
-		if (bbounds == null)
-			return;
-		int x = bbounds.x;
-		int y = bbounds.y;
-		if (repaintRegion != null) {
-			x -= repaintRegion.x;
-			y -= repaintRegion.y;
-		}
-		if (style == CIRCLE) {
-			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, y);
-		} else if (style == IMAGE && text != null) {
-			Image image = (Image) resourceTable.get(text);
-			if (image != null)
-				gc.drawImage(image, x, y);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BusyIndicator.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BusyIndicator.java
deleted file mode 100644
index 2841f03..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/BusyIndicator.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.ImageLoader;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.osgi.framework.Bundle;
-
-public class BusyIndicator extends Canvas {
-	private static final int MARGIN = 0;
-
-	private ImageData[] progressData;
-
-	protected ImageLoader loader;
-
-	protected Image image;
-
-	protected Image animationImage;
-
-	protected Thread busyThread;
-
-	protected boolean stop;
-
-	/**
-	 * BusyWidget constructor comment.
-	 * 
-	 * @param parent
-	 *            org.eclipse.swt.widgets.Composite
-	 * @param style
-	 *            int
-	 */
-	public BusyIndicator(Composite parent, int style) {
-		super(parent, style);
-
-		loadProgressImage();
-
-		addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent event) {
-				onPaint(event);
-			}
-		});
-	}
-
-	private void loadProgressImage() {
-		InputStream is = null;
-		Bundle bundle = Platform.getBundle("org.eclipse.ui.forms"); //$NON-NLS-1$
-	    URL url = FileLocator.find(bundle, new Path("$nl$/icons/progress/ani/progress.gif"),null); //$NON-NLS-1$
-		if (url != null) {
-			try {
-				url = FileLocator.resolve(url);
-				is = url.openStream();
-			} catch (IOException e) {
-			    is = null;
-			}
-		}
-		if (is != null) {
-			loader = new ImageLoader();
-			try {
-				progressData = loader.load(is);
-			} catch (IllegalArgumentException e) {
-			}
-			try {
-				is.close();
-			} catch (IOException e) {
-			}
-		}
-	}
-
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		Point size = new Point(0, 0);
-		if (image != null) {
-			Rectangle ibounds = image.getBounds();
-			size.x = ibounds.width;
-			size.y = ibounds.height;
-		}
-		if (loader != null && isBusy()) {
-			size.x = Math.max(size.x, loader.logicalScreenWidth);
-			size.y = Math.max(size.y, loader.logicalScreenHeight);
-		}
-		size.x += MARGIN + MARGIN;
-		size.y += MARGIN + MARGIN;
-		return size;
-	}
-
-	/**
-	 * Creates a thread to animate the image.
-	 */
-	protected synchronized void createBusyThread() {
-		if (busyThread != null)
-			return;
-
-		stop = false;
-		final Display display = getDisplay();
-		final Image offScreenImage = new Image(display,
-				loader.logicalScreenWidth,
-				loader.logicalScreenHeight);
-		final GC offScreenImageGC = new GC(offScreenImage);
-		busyThread = new Thread() {
-			private Image timage;
-
-			public void run() {
-				try {
-					/*
-					 * Create an off-screen image to draw on, and fill it with
-					 * the shell background.
-					 */
-					FormUtil.setAntialias(offScreenImageGC, SWT.ON);
-					display.syncExec(new Runnable() {
-						public void run() {
-							if (!isDisposed())
-								drawBackground(offScreenImageGC, 0, 0,
-										loader.logicalScreenWidth,
-										loader.logicalScreenHeight);
-						}
-					});
-					if (isDisposed())
-						return;
-
-					/*
-					 * Create the first image and draw it on the off-screen
-					 * image.
-					 */
-					int imageDataIndex = 0;
-					ImageData imageData = progressData[imageDataIndex];
-					if (timage != null && !timage.isDisposed())
-						timage.dispose();
-					timage = new Image(display, imageData);
-					offScreenImageGC.drawImage(timage, 0, 0,
-							imageData.width, imageData.height, imageData.x,
-							imageData.y, imageData.width, imageData.height);
-
-					/*
-					 * Now loop through the images, creating and drawing
-					 * each one on the off-screen image before drawing it on
-					 * the shell.
-					 */
-					int repeatCount = loader.repeatCount;
-					while (loader.repeatCount == 0 || repeatCount > 0) {
-						if (stop || isDisposed())
-							break;
-						switch (imageData.disposalMethod) {
-						case SWT.DM_FILL_BACKGROUND:
-							/*
-							 * Fill with the background color before
-							 * drawing.
-							 */
-							/*
-							 * offScreenImageGC.fillRectangle(imageData.x,
-							 * imageData.y, imageData.width,
-							 * imageData.height);
-							 */
-							final ImageData fimageData = imageData;
-							display.syncExec(new Runnable() {
-								public void run() {
-									if (!isDisposed()) {
-										drawBackground(offScreenImageGC, fimageData.x,
-												fimageData.y, fimageData.width,
-												fimageData.height);
-									}
-								}
-							});
-							break;
-						case SWT.DM_FILL_PREVIOUS:
-							/* Restore the previous image before drawing. */
-							offScreenImageGC.drawImage(timage, 0, 0,
-									imageData.width, imageData.height,
-									imageData.x, imageData.y,
-									imageData.width, imageData.height);
-							break;
-						}
-
-						imageDataIndex = (imageDataIndex + 1)
-								% progressData.length;
-						imageData = progressData[imageDataIndex];
-						timage.dispose();
-						timage = new Image(display, imageData);
-						offScreenImageGC.drawImage(timage, 0, 0,
-								imageData.width, imageData.height,
-								imageData.x, imageData.y, imageData.width,
-								imageData.height);
-
-						/* Draw the off-screen image to the shell. */
-						animationImage = offScreenImage;
-						display.syncExec(new Runnable() {
-							public void run() {
-								if (!isDisposed())
-									redraw();
-							}
-						});
-						/*
-						 * Sleep for the specified delay time (adding
-						 * commonly-used slow-down fudge factors).
-						 */
-						try {
-							int ms = imageData.delayTime * 10;
-							if (ms < 20)
-								ms += 50;
-							if (ms < 30)
-								ms += 20;
-							Thread.sleep(ms);
-						} catch (InterruptedException e) {
-						}
-
-						/*
-						 * If we have just drawn the last image, decrement
-						 * the repeat count and start again.
-						 */
-						if (imageDataIndex == progressData.length - 1)
-							repeatCount--;
-					}
-				} catch (Exception e) {
-					// Trace.trace(Trace.WARNING, "Busy error", e);
-					// //$NON-NLS-1$
-				} finally {
-					display.syncExec(new Runnable() {
-						public void run() {
-							if (offScreenImage != null
-									&& !offScreenImage.isDisposed())
-								offScreenImage.dispose();
-							if (offScreenImageGC != null
-									&& !offScreenImageGC.isDisposed())
-								offScreenImageGC.dispose();
-						}
-					});
-					if (timage != null && !timage.isDisposed())
-						timage.dispose();
-				}
-				if (busyThread == null)
-					display.syncExec(new Runnable() {
-						public void run() {
-							animationImage = null;
-							if (!isDisposed())
-								redraw();
-						}
-					});
-			}
-		};
-		busyThread.setPriority(Thread.NORM_PRIORITY + 2);
-		busyThread.setDaemon(true);
-		busyThread.start();
-	}
-
-	public void dispose() {
-		stop = true;
-		busyThread = null;
-		super.dispose();
-	}
-
-	/**
-	 * Return the image or <code>null</code>.
-	 */
-	public Image getImage() {
-		return image;
-	}
-
-	/**
-	 * Returns true if it is currently busy.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isBusy() {
-		return (busyThread != null);
-	}
-
-	/*
-	 * Process the paint event
-	 */
-	protected void onPaint(PaintEvent event) {
-		if (animationImage != null && animationImage.isDisposed()) {
-			animationImage = null;
-		}
-		Rectangle rect = getClientArea();
-		if (rect.width == 0 || rect.height == 0)
-			return;
-
-		GC gc = event.gc;
-		Image activeImage = animationImage != null ? animationImage : image;
-		if (activeImage != null) {
-			Rectangle ibounds = activeImage.getBounds();
-			gc.drawImage(activeImage, rect.width / 2 - ibounds.width / 2,
-					rect.height / 2 - ibounds.height / 2);
-		}
-	}
-
-	/**
-	 * Sets the indicators busy count up (true) or down (false) one.
-	 * 
-	 * @param busy
-	 *            boolean
-	 */
-	public synchronized void setBusy(boolean busy) {
-		if (busy) {
-			if (busyThread == null)
-				createBusyThread();
-		} else {
-			if (busyThread != null) {
-				stop = true;
-				busyThread = null;
-			}
-		}
-	}
-
-	/**
-	 * Set the image. The value <code>null</code> clears it.
-	 */
-	public void setImage(Image image) {
-		if (image != this.image && !isDisposed()) {
-			this.image = image;
-			redraw();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ControlSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ControlSegment.java
deleted file mode 100644
index 9afc645..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ControlSegment.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-public class ControlSegment extends ObjectSegment implements IFocusSelectable {
-	private boolean fill;
-	private int width = SWT.DEFAULT;
-	private int height = SWT.DEFAULT;
-	
-	public ControlSegment() {
-	}
-	
-	public void setFill(boolean fill) {
-		this.fill = fill;
-	}
-	
-	public void setWidth(int width) {
-		this.width = width;
-	}
-	
-	public void setHeight(int height) {
-		this.height = height;
-	}
-	
-	public Control getControl(Hashtable resourceTable) {
-		Object obj = resourceTable.get(getObjectId());
-		if (obj instanceof Control) {
-			Control c = (Control)obj;
-			if (!c.isDisposed())
-				return c;
-		}
-		return null;
-	}
-
-	protected Point getObjectSize(Hashtable resourceTable, int wHint) {
-		Control control = getControl(resourceTable);
-		if (control==null)
-			return new Point(0,0);
-		int realWhint = FormUtil.getWidthHint(wHint, control);
-		Point size = control.computeSize(realWhint, SWT.DEFAULT);
-		if (realWhint!=SWT.DEFAULT && fill)
-			size.x = Math.max(size.x, realWhint);
-		if (width !=SWT.DEFAULT)
-			size.x = width;
-		if (height != SWT.DEFAULT)
-			size.y = height;
-		return size;
-	}
-	
-	public void layout(GC gc, int width, Locator loc, Hashtable resourceTable,
-			boolean selected) {
-		super.layout(gc, width, loc, resourceTable, selected);
-		Control control = getControl(resourceTable);
-		if (control!=null)
-			control.setBounds(getBounds());
-	}
-
-	public boolean setFocus(Hashtable resourceTable, boolean next) {
-		Control c = getControl(resourceTable);
-		if (c!=null) {
-			return setFocus(c, next);
-		}
-		return false;
-	}
-	
-	private boolean setFocus(Control c, boolean direction) {
-		if (c instanceof Composite) {
-			Composite comp = (Composite)c;
-			Control [] tabList = comp.getTabList();
-			if (direction) {
-				for (int i=0; i<tabList.length; i++) {
-					if (setFocus(tabList[i], direction))
-						return true;
-				}
-			}
-			else {
-				for (int i=tabList.length-1; i>=0; i--) {
-					if (setFocus(tabList[i], direction))
-						return true;
-				}
-			}
-			if (!(c instanceof Canvas))
-				return false;
-		}
-		return c.setFocus();
-	}
-
-	public boolean isFocusSelectable(Hashtable resourceTable) {
-		Control c = getControl(resourceTable);
-		if (c!=null)
-			return true;
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormHeading.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormHeading.java
deleted file mode 100644
index 256fc77..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormHeading.java
+++ /dev/null
@@ -1,1058 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.dnd.DragSourceListener;
-import org.eclipse.swt.dnd.DropTargetListener;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontMetrics;
-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.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.ui.forms.IFormColors;
-import org.eclipse.ui.forms.IMessage;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-import org.eclipse.ui.forms.widgets.ILayoutExtension;
-import org.eclipse.ui.forms.widgets.SizeCache;
-import org.eclipse.ui.internal.forms.IMessageToolTipManager;
-import org.eclipse.ui.internal.forms.MessageManager;
-
-/**
- * Form header moved out of the form class.
- */
-public class FormHeading extends Canvas {
-	private static final int TITLE_HMARGIN = 1;
-	private static final int SPACING = 5;
-	private static final int VSPACING = 5;
-	private static final int HMARGIN = 6;
-	private static final int VMARGIN = 1;
-	private static final int CLIENT_MARGIN = 1;
-
-	private static final int SEPARATOR = 1 << 1;
-	private static final int BOTTOM_TOOLBAR = 1 << 2;
-	private static final int BACKGROUND_IMAGE_TILED = 1 << 3;
-	private static final int SEPARATOR_HEIGHT = 2;
-	private static final int MESSAGE_AREA_LIMIT = 50;
-	static IMessage[] NULL_MESSAGE_ARRAY = new IMessage[] {};
-
-	public static final String COLOR_BASE_BG = "baseBg"; //$NON-NLS-1$
-
-	private Image backgroundImage;
-
-	private Image gradientImage;
-
-	Hashtable colors = new Hashtable();
-
-	private int flags;
-
-	private GradientInfo gradientInfo;
-
-	private ToolBarManager toolBarManager;
-
-	private SizeCache toolbarCache = new SizeCache();
-
-	private SizeCache clientCache = new SizeCache();
-
-	private SizeCache messageCache = new SizeCache();
-
-	private TitleRegion titleRegion;
-
-	private MessageRegion messageRegion;
-
-	private IMessageToolTipManager messageToolTipManager = new DefaultMessageToolTipManager();
-
-	private Control headClient;
-
-	private class DefaultMessageToolTipManager implements
-			IMessageToolTipManager {
-		public void createToolTip(Control control, boolean imageLabel) {
-		}
-
-		public void update() {
-			String details = getMessageType() == 0 ? null : MessageManager
-					.createDetails(getChildrenMessages());
-			if (messageRegion != null)
-				messageRegion.updateToolTip(details);
-			if (getMessageType() > 0
-					&& (details == null || details.length() == 0))
-				details = getMessage();
-			titleRegion.updateToolTip(details);
-		}
-	}
-
-	private class GradientInfo {
-		Color[] gradientColors;
-
-		int[] percents;
-
-		boolean vertical;
-	}
-
-	private class FormHeadingLayout 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) {
-			return layout(composite, false, 0, 0, wHint, hHint, flushCache);
-		}
-
-		protected void layout(Composite composite, boolean flushCache) {
-			Rectangle rect = composite.getClientArea();
-			layout(composite, true, rect.x, rect.y, rect.width, rect.height,
-					flushCache);
-		}
-
-		private Point layout(Composite composite, boolean move, int x, int y,
-				int width, int height, boolean flushCache) {
-			Point tsize = null;
-			Point msize = null;
-			Point tbsize = null;
-			Point clsize = null;
-
-			if (flushCache) {
-				clientCache.flush();
-				messageCache.flush();
-				toolbarCache.flush();
-			}
-			if (hasToolBar()) {
-				ToolBar tb = toolBarManager.getControl();
-				toolbarCache.setControl(tb);
-				tbsize = toolbarCache.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			}
-			if (headClient != null) {
-				clientCache.setControl(headClient);
-				int cwhint = width;
-				if (cwhint != SWT.DEFAULT) {
-					cwhint -= HMARGIN * 2;
-					if (tbsize != null && getToolBarAlignment() == SWT.BOTTOM)
-						cwhint -= tbsize.x + SPACING;
-				}
-				clsize = clientCache.computeSize(cwhint, SWT.DEFAULT);
-			}
-			int totalFlexWidth = width;
-			int flexWidth = totalFlexWidth;
-			if (totalFlexWidth != SWT.DEFAULT) {
-				totalFlexWidth -= TITLE_HMARGIN * 2;
-				// complete right margin
-				if (hasToolBar() && getToolBarAlignment() == SWT.TOP
-						|| hasMessageRegion())
-					totalFlexWidth -= SPACING;
-				// subtract tool bar
-				if (hasToolBar() && getToolBarAlignment() == SWT.TOP)
-					totalFlexWidth -= tbsize.x + SPACING;
-				flexWidth = totalFlexWidth;
-				if (hasMessageRegion()) {
-					// remove message region spacing and divide by 2
-					flexWidth -= SPACING;
-					// flexWidth /= 2;
-				}
-			}
-			/*
-			 * // compute text and message sizes tsize =
-			 * titleRegion.computeSize(flexWidth, SWT.DEFAULT); if (flexWidth !=
-			 * SWT.DEFAULT && tsize.x < flexWidth) flexWidth += flexWidth -
-			 * tsize.x;
-			 * 
-			 * if (hasMessageRegion()) {
-			 * messageCache.setControl(messageRegion.getMessageControl()); msize =
-			 * messageCache.computeSize(flexWidth, SWT.DEFAULT); int maxWidth =
-			 * messageCache.computeSize(SWT.DEFAULT, SWT.DEFAULT).x; if
-			 * (maxWidth < msize.x) { msize.x = maxWidth; // recompute title
-			 * with the reclaimed width int tflexWidth = totalFlexWidth -
-			 * SPACING - msize.x; tsize = titleRegion.computeSize(tflexWidth,
-			 * SWT.DEFAULT); } }
-			 */
-			if (!hasMessageRegion()) {
-				tsize = titleRegion.computeSize(flexWidth, SWT.DEFAULT);
-			} else {
-				// Total flexible area in the first row is flexWidth.
-				// Try natural widths of title and
-				Point tsizeNatural = titleRegion.computeSize(SWT.DEFAULT,
-						SWT.DEFAULT);
-				messageCache.setControl(messageRegion.getMessageControl());
-				Point msizeNatural = messageCache.computeSize(SWT.DEFAULT,
-						SWT.DEFAULT);
-				// try to fit all
-				tsize = tsizeNatural;
-				msize = msizeNatural;
-				if (flexWidth != SWT.DEFAULT) {
-					int needed = tsizeNatural.x + msizeNatural.x;
-					if (needed > flexWidth) {
-						// too big - try to limit the message
-						int mwidth = flexWidth - tsizeNatural.x;
-						if (mwidth >= MESSAGE_AREA_LIMIT) {
-							msize.x = mwidth;
-						} else {
-							// message is squeezed to the limit
-							int flex = flexWidth - MESSAGE_AREA_LIMIT;
-							tsize = titleRegion.computeSize(flex, SWT.DEFAULT);
-							msize.x = MESSAGE_AREA_LIMIT;
-						}
-					}
-				}
-			}
-
-			Point size = new Point(width, height);
-			if (!move) {
-				// compute sizes
-				int width1 = 2 * TITLE_HMARGIN;
-				width1 += tsize.x;
-				if (msize != null)
-					width1 += SPACING + msize.x;
-				if (tbsize != null && getToolBarAlignment() == SWT.TOP)
-					width1 += SPACING + tbsize.x;
-				if (msize != null
-						|| (tbsize != null && getToolBarAlignment() == SWT.TOP))
-					width1 += SPACING;
-				size.x = width1;
-				if (clsize != null) {
-					int width2 = clsize.x;
-					if (tbsize != null && getToolBarAlignment() == SWT.BOTTOM)
-						width2 += SPACING + tbsize.x;
-					width2 += 2 * HMARGIN;
-					size.x = Math.max(width1, width2);
-				}
-				// height, first row
-				size.y = tsize.y;
-				if (msize != null)
-					size.y = Math.max(msize.y, size.y);
-				if (tbsize != null && getToolBarAlignment() == SWT.TOP)
-					size.y = Math.max(tbsize.y, size.y);
-				if (size.y > 0)
-					size.y += VMARGIN * 2;
-				// add second row
-				int height2 = 0;
-				if (tbsize != null && getToolBarAlignment() == SWT.BOTTOM)
-					height2 = tbsize.y;
-				if (clsize != null)
-					height2 = Math.max(height2, clsize.y);
-				if (height2 > 0)
-					size.y += VSPACING + height2 + CLIENT_MARGIN;
-				// add separator
-				if (size.y > 0 && isSeparatorVisible())
-					size.y += SEPARATOR_HEIGHT;
-			} else {
-				// position controls
-				int xloc = x;
-				int yloc = y + VMARGIN;
-				int row1Height = tsize.y;
-				if (hasMessageRegion())
-					row1Height = Math.max(row1Height, msize.y);
-				if (hasToolBar() && getToolBarAlignment() == SWT.TOP)
-					row1Height = Math.max(row1Height, tbsize.y);
-				titleRegion.setBounds(xloc,
-				// yloc + row1Height / 2 - tsize.y / 2,
-						yloc, tsize.x, tsize.y);
-				xloc += tsize.x;
-
-				if (hasMessageRegion()) {
-					xloc += SPACING;
-					int messageOffset = 0;
-					if (tsize.y > 0) {
-						// space between title area and title text
-						int titleLeadingSpace = (tsize.y - titleRegion.getFontHeight()) / 2;
-						// space between message control and message text
-						int messageLeadingSpace = (msize.y - messageRegion.getFontHeight()) / 2;
-						// how much to offset the message so baselines align
-						messageOffset = (titleLeadingSpace + titleRegion.getFontBaselineHeight())
-							- (messageLeadingSpace + messageRegion.getFontBaselineHeight());
-					}
-
-					messageRegion
-							.getMessageControl()
-							.setBounds(
-									xloc,
-									tsize.y > 0 ? (yloc + messageOffset)
-											: (yloc + row1Height / 2 - msize.y / 2),
-									msize.x, msize.y);
-					xloc += msize.x;
-				}
-				if (toolBarManager != null)
-					toolBarManager.getControl().setVisible(
-							!toolBarManager.isEmpty());
-				if (tbsize != null && getToolBarAlignment() == SWT.TOP) {
-					ToolBar tbar = toolBarManager.getControl();
-					tbar.setBounds(x + width - 1 - tbsize.x - HMARGIN, yloc
-							+ row1Height - 1 - tbsize.y, tbsize.x, tbsize.y);
-				}
-				// second row
-				xloc = HMARGIN;
-				yloc += row1Height + VSPACING;
-				int tw = 0;
-
-				if (tbsize != null && getToolBarAlignment() == SWT.BOTTOM) {
-					ToolBar tbar = toolBarManager.getControl();
-					tbar.setBounds(x + width - 1 - tbsize.x - HMARGIN, yloc,
-							tbsize.x, tbsize.y);
-					tw = tbsize.x + SPACING;
-				}
-				if (headClient != null) {
-					int carea = width - HMARGIN * 2 - tw;
-					headClient.setBounds(xloc, yloc, carea, clsize.y);
-				}
-			}
-			return size;
-		}
-	}
-
-	private boolean hasToolBar() {
-		return toolBarManager != null && !toolBarManager.isEmpty();
-	}
-
-	private boolean hasMessageRegion() {
-		return messageRegion != null && !messageRegion.isEmpty();
-	}
-
-	private class MessageRegion {
-		private String message;
-		private int messageType;
-		private CLabel messageLabel;
-		private IMessage[] messages;
-		private Hyperlink messageHyperlink;
-		private ListenerList listeners;
-		private Color fg;
-		private int fontHeight = -1;
-		private int fontBaselineHeight = -1;
-
-		public MessageRegion() {
-		}
-
-		public boolean isDisposed() {
-			Control c = getMessageControl();
-			return c != null && c.isDisposed();
-		}
-
-		public boolean isEmpty() {
-			Control c = getMessageControl();
-			if (c == null)
-				return true;
-			return !c.getVisible();
-		}
-
-		public int getFontHeight() {
-			if (fontHeight == -1) {
-				Control c = getMessageControl();
-				if (c == null)
-					return 0;
-				GC gc = new GC(c.getDisplay());
-				gc.setFont(c.getFont());
-				fontHeight = gc.getFontMetrics().getHeight();
-				gc.dispose();
-			}
-			return fontHeight;
-		}
-
-		public int getFontBaselineHeight() {
-			if (fontBaselineHeight == -1) {
-				Control c = getMessageControl();
-				if (c == null)
-					return 0;
-				GC gc = new GC(c.getDisplay());
-				gc.setFont(c.getFont());
-				FontMetrics fm = gc.getFontMetrics();
-				fontBaselineHeight = fm.getHeight() - fm.getDescent();
-				gc.dispose();
-			}
-			return fontBaselineHeight;
-		}
-
-		public void showMessage(String newMessage, int newType,
-				IMessage[] messages) {
-			Control oldControl = getMessageControl();
-			int oldType = messageType;
-			this.message = newMessage;
-			this.messageType = newType;
-			this.messages = messages;
-			if (newMessage == null) {
-				// clearing of the message
-				if (oldControl != null && oldControl.getVisible())
-					oldControl.setVisible(false);
-				return;
-			}
-			ensureControlExists();
-			if (needHyperlink()) {
-				messageHyperlink.setText(newMessage);
-				messageHyperlink.setHref(messages);
-			} else {
-				messageLabel.setText(newMessage);
-			}
-			if (oldType != newType)
-				updateForeground();
-		}
-
-		public void updateToolTip(String toolTip) {
-			Control control = getMessageControl();
-			if (control != null)
-				control.setToolTipText(toolTip);
-		}
-
-		public String getMessage() {
-			return message;
-		}
-
-		public int getMessageType() {
-			return messageType;
-		}
-
-		public IMessage[] getChildrenMessages() {
-			return messages;
-		}
-
-		public String getDetailedMessage() {
-			Control c = getMessageControl();
-			if (c != null)
-				return c.getToolTipText();
-			return null;
-		}
-
-		public Control getMessageControl() {
-			if (needHyperlink() && messageHyperlink != null)
-				return messageHyperlink;
-			return messageLabel;
-		}
-
-		public Image getMessageImage() {
-			switch (messageType) {
-			case IMessageProvider.INFORMATION:
-				return JFaceResources.getImage(Dialog.DLG_IMG_MESSAGE_INFO);
-			case IMessageProvider.WARNING:
-				return JFaceResources.getImage(Dialog.DLG_IMG_MESSAGE_WARNING);
-			case IMessageProvider.ERROR:
-				return JFaceResources.getImage(Dialog.DLG_IMG_MESSAGE_ERROR);
-			default:
-				return null;
-			}
-		}
-
-		public void addMessageHyperlinkListener(IHyperlinkListener listener) {
-			if (listeners == null)
-				listeners = new ListenerList();
-			listeners.add(listener);
-			ensureControlExists();
-			if (messageHyperlink != null)
-				messageHyperlink.addHyperlinkListener(listener);
-			if (listeners.size() == 1)
-				updateForeground();
-		}
-
-		private void removeMessageHyperlinkListener(IHyperlinkListener listener) {
-			if (listeners != null) {
-				listeners.remove(listener);
-				if (messageHyperlink != null)
-					messageHyperlink.removeHyperlinkListener(listener);
-				if (listeners.isEmpty())
-					listeners = null;
-				ensureControlExists();
-				if (listeners == null && !isDisposed())
-					updateForeground();
-			}
-		}
-
-		private void ensureControlExists() {
-			if (needHyperlink()) {
-				if (messageLabel != null)
-					messageLabel.setVisible(false);
-				if (messageHyperlink == null) {
-					messageHyperlink = new Hyperlink(FormHeading.this, SWT.NULL);
-					messageHyperlink.setUnderlined(true);
-					messageHyperlink.setText(message);
-					messageHyperlink.setHref(messages);
-					Object[] llist = listeners.getListeners();
-					for (int i = 0; i < llist.length; i++)
-						messageHyperlink
-								.addHyperlinkListener((IHyperlinkListener) llist[i]);
-					if (messageToolTipManager != null)
-						messageToolTipManager.createToolTip(messageHyperlink, false);
-				} else if (!messageHyperlink.getVisible()) {
-					messageHyperlink.setText(message);
-					messageHyperlink.setHref(messages);
-					messageHyperlink.setVisible(true);
-				}
-			} else {
-				// need a label
-				if (messageHyperlink != null)
-					messageHyperlink.setVisible(false);
-				if (messageLabel == null) {
-					messageLabel = new CLabel(FormHeading.this, SWT.NULL);
-					messageLabel.setText(message);
-					if (messageToolTipManager != null)
-						messageToolTipManager.createToolTip(messageLabel, false);
-				} else if (!messageLabel.getVisible()) {
-					messageLabel.setText(message);
-					messageLabel.setVisible(true);
-				}
-			}
-			layout(true);
-		}
-
-		private boolean needHyperlink() {
-			return messageType > 0 && listeners != null;
-		}
-
-		public void setBackground(Color bg) {
-			if (messageHyperlink != null)
-				messageHyperlink.setBackground(bg);
-			if (messageLabel != null)
-				messageLabel.setBackground(bg);
-		}
-
-		public void setForeground(Color fg) {
-			this.fg = fg;
-		}
-
-		private void updateForeground() {
-			Color theFg;
-
-			switch (messageType) {
-			case IMessageProvider.ERROR:
-				theFg = getDisplay().getSystemColor(SWT.COLOR_RED);
-				break;
-			case IMessageProvider.WARNING:
-				theFg = getDisplay().getSystemColor(SWT.COLOR_DARK_YELLOW);
-				break;
-			default:
-				theFg = fg;
-			}
-			getMessageControl().setForeground(theFg);
-		}
-	}
-
-	/**
-	 * Creates the form content control as a child of the provided parent.
-	 * 
-	 * @param parent
-	 *            the parent widget
-	 */
-	public FormHeading(Composite parent, int style) {
-		super(parent, style);
-		setBackgroundMode(SWT.INHERIT_DEFAULT);
-		addListener(SWT.Paint, new Listener() {
-			public void handleEvent(Event e) {
-				onPaint(e.gc);
-			}
-		});
-		addListener(SWT.Dispose, new Listener() {
-			public void handleEvent(Event e) {
-				if (gradientImage != null) {
-					gradientImage.dispose();
-					gradientImage = null;
-				}
-			}
-		});
-		addListener(SWT.Resize, new Listener() {
-			public void handleEvent(Event e) {
-				if (gradientInfo != null
-						|| (backgroundImage != null && !isBackgroundImageTiled()))
-					updateGradientImage();
-			}
-		});
-		addMouseMoveListener(new MouseMoveListener() {
-			public void mouseMove(MouseEvent e) {
-				updateTitleRegionHoverState(e);
-			}
-		});
-		addMouseTrackListener(new MouseTrackListener() {
-			public void mouseEnter(MouseEvent e) {
-				updateTitleRegionHoverState(e);
-			}
-
-			public void mouseExit(MouseEvent e) {
-				titleRegion.setHoverState(TitleRegion.STATE_NORMAL);
-			}
-
-			public void mouseHover(MouseEvent e) {
-			}
-		});
-		super.setLayout(new FormHeadingLayout());
-		titleRegion = new TitleRegion(this);
-	}
-
-	/**
-	 * Fully delegates the size computation to the internal layout manager.
-	 */
-	public final Point computeSize(int wHint, int hHint, boolean changed) {
-		return ((FormHeadingLayout) 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 titleRegion.getText();
-	}
-
-	/**
-	 * Returns the title image that will be rendered to the left of the title.
-	 * 
-	 * @return the title image
-	 * @since 3.2
-	 */
-	public Image getImage() {
-		return titleRegion.getImage();
-	}
-
-	/**
-	 * Sets the background color of the header.
-	 */
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		internalSetBackground(bg);
-	}
-
-	private void internalSetBackground(Color bg) {
-		titleRegion.setBackground(bg);
-		if (messageRegion != null)
-			messageRegion.setBackground(bg);
-		if (toolBarManager != null)
-			toolBarManager.getControl().setBackground(bg);
-		putColor(COLOR_BASE_BG, bg);
-	}
-
-	/**
-	 * Sets the foreground color of the header.
-	 */
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		titleRegion.setForeground(fg);
-		if (messageRegion != null)
-			messageRegion.setForeground(fg);
-	}
-
-	/**
-	 * 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) {
-		titleRegion.setText(text);
-	}
-
-	public void setFont(Font font) {
-		super.setFont(font);
-		titleRegion.setFont(font);
-	}
-
-	/**
-	 * Sets the image to be rendered to the left of the title.
-	 * 
-	 * @param image
-	 *            the title image or <code>null</code> to show no image.
-	 * @since 3.2
-	 */
-	public void setImage(Image image) {
-		titleRegion.setImage(image);
-		if (messageRegion != null)
-			titleRegion.updateImage(messageRegion.getMessageImage(), true);
-		else
-			titleRegion.updateImage(null, true);
-	}
-
-	public void setTextBackground(Color[] gradientColors, int[] percents,
-			boolean vertical) {
-		if (gradientColors != null) {
-			gradientInfo = new GradientInfo();
-			gradientInfo.gradientColors = gradientColors;
-			gradientInfo.percents = percents;
-			gradientInfo.vertical = vertical;
-			setBackground(null);
-			updateGradientImage();
-		} else {
-			// reset
-			gradientInfo = null;
-			if (gradientImage != null) {
-				gradientImage.dispose();
-				gradientImage = null;
-				setBackgroundImage(null);
-			}
-		}
-	}
-
-	public void setHeadingBackgroundImage(Image image) {
-		this.backgroundImage = image;
-		if (image != null)
-			setBackground(null);
-		if (isBackgroundImageTiled()) {
-			setBackgroundImage(image);
-		} else
-			updateGradientImage();
-	}
-
-	public Image getHeadingBackgroundImage() {
-		return backgroundImage;
-	}
-
-	public void setBackgroundImageTiled(boolean tiled) {
-		if (tiled)
-			flags |= BACKGROUND_IMAGE_TILED;
-		else
-			flags &= ~BACKGROUND_IMAGE_TILED;
-		setHeadingBackgroundImage(this.backgroundImage);
-	}
-
-	public boolean isBackgroundImageTiled() {
-		return (flags & BACKGROUND_IMAGE_TILED) != 0;
-	}
-
-	public void setBackgroundImage(Image image) {
-		super.setBackgroundImage(image);
-		if (image != null) {
-			internalSetBackground(null);
-		}
-	}
-
-	/**
-	 * 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;
-	}
-
-	/**
-	 * Returns the menu manager that is used to manage tool items in the form's
-	 * title area.
-	 * 
-	 * @return form drop-down menu manager
-	 * @since 3.3
-	 */
-	public IMenuManager getMenuManager() {
-		return titleRegion.getMenuManager();
-	}
-
-	/**
-	 * 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);
-	}
-
-	private void onPaint(GC gc) {
-		if (!isSeparatorVisible() && getBackgroundImage() == null)
-			return;
-		Rectangle carea = getClientArea();
-		Image buffer = new Image(getDisplay(), carea.width, carea.height);
-		buffer.setBackground(getBackground());
-		GC igc = new GC(buffer);
-		igc.setBackground(getBackground());
-		igc.fillRectangle(0, 0, carea.width, carea.height);
-		if (getBackgroundImage() != null) {
-			if (gradientInfo != null)
-				drawBackground(igc, carea.x, carea.y, carea.width, carea.height);
-			else {
-				Image bgImage = getBackgroundImage();
-				Rectangle ibounds = bgImage.getBounds();
-				drawBackground(igc, carea.x, carea.y, ibounds.width,
-						ibounds.height);
-			}
-		}
-
-		if (isSeparatorVisible()) {
-			// bg separator
-			if (hasColor(IFormColors.H_BOTTOM_KEYLINE1))
-				igc.setForeground(getColor(IFormColors.H_BOTTOM_KEYLINE1));
-			else
-				igc.setForeground(getBackground());
-			igc.drawLine(carea.x, carea.height - 2, carea.x + carea.width - 1,
-					carea.height - 2);
-			if (hasColor(IFormColors.H_BOTTOM_KEYLINE2))
-				igc.setForeground(getColor(IFormColors.H_BOTTOM_KEYLINE2));
-			else
-				igc.setForeground(getForeground());
-			igc.drawLine(carea.x, carea.height - 1, carea.x + carea.width - 1,
-					carea.height - 1);
-		}
-		igc.dispose();
-		gc.drawImage(buffer, carea.x, carea.y);
-		buffer.dispose();
-	}
-
-	private void updateTitleRegionHoverState(MouseEvent e) {
-		Rectangle titleRect = titleRegion.getBounds();
-		titleRect.width += titleRect.x + 15;
-		titleRect.height += titleRect.y + 15;
-		titleRect.x = 0;
-		titleRect.y = 0;
-		if (titleRect.contains(e.x, e.y))
-			titleRegion.setHoverState(TitleRegion.STATE_HOVER_LIGHT);
-		else
-			titleRegion.setHoverState(TitleRegion.STATE_NORMAL);
-	}
-
-	private void updateGradientImage() {
-		Rectangle rect = getBounds();
-		if (gradientImage != null) {
-			gradientImage.dispose();
-			gradientImage = null;
-		}
-		if (gradientInfo != null) {
-			boolean vertical = gradientInfo.vertical;
-			int width = vertical ? 1 : rect.width;
-			int height = vertical ? rect.height : 1;
-			gradientImage = new Image(getDisplay(), Math.max(width, 1), Math
-					.max(height, 1));
-			GC gc = new GC(gradientImage);
-			drawTextGradient(gc, width, height);
-			gc.dispose();
-		} else if (backgroundImage != null && !isBackgroundImageTiled()) {
-			gradientImage = new Image(getDisplay(), Math.max(rect.width, 1),
-					Math.max(rect.height, 1));
-			gradientImage.setBackground(getBackground());
-			GC gc = new GC(gradientImage);
-			gc.drawImage(backgroundImage, 0, 0);
-			gc.dispose();
-		}
-		setBackgroundImage(gradientImage);
-	}
-
-	private void drawTextGradient(GC gc, int width, int height) {
-		final Color oldBackground = gc.getBackground();
-		if (gradientInfo.gradientColors.length == 1) {
-			if (gradientInfo.gradientColors[0] != null)
-				gc.setBackground(gradientInfo.gradientColors[0]);
-			gc.fillRectangle(0, 0, width, height);
-		} else {
-			final Color oldForeground = gc.getForeground();
-			Color lastColor = gradientInfo.gradientColors[0];
-			if (lastColor == null)
-				lastColor = oldBackground;
-			int pos = 0;
-			for (int i = 0; i < gradientInfo.percents.length; ++i) {
-				gc.setForeground(lastColor);
-				lastColor = gradientInfo.gradientColors[i + 1];
-				if (lastColor == null)
-					lastColor = oldBackground;
-				gc.setBackground(lastColor);
-				if (gradientInfo.vertical) {
-					final int gradientHeight = (gradientInfo.percents[i]
-							* height / 100)
-							- pos;
-					gc.fillGradientRectangle(0, pos, width, gradientHeight,
-							true);
-					pos += gradientHeight;
-				} else {
-					final int gradientWidth = (gradientInfo.percents[i] * width / 100)
-							- pos;
-					gc.fillGradientRectangle(pos, 0, gradientWidth, height,
-							false);
-					pos += gradientWidth;
-				}
-			}
-			if (gradientInfo.vertical && pos < height) {
-				gc.setBackground(getColor(COLOR_BASE_BG));
-				gc.fillRectangle(0, pos, width, height - pos);
-			}
-			if (!gradientInfo.vertical && pos < width) {
-				gc.setBackground(getColor(COLOR_BASE_BG));
-				gc.fillRectangle(pos, 0, width - pos, height);
-			}
-			gc.setForeground(oldForeground);
-		}
-	}
-
-	public boolean isSeparatorVisible() {
-		return (flags & SEPARATOR) != 0;
-	}
-
-	public void setSeparatorVisible(boolean addSeparator) {
-		if (addSeparator)
-			flags |= SEPARATOR;
-		else
-			flags &= ~SEPARATOR;
-	}
-
-	public void setToolBarAlignment(int alignment) {
-		if (alignment == SWT.BOTTOM)
-			flags |= BOTTOM_TOOLBAR;
-		else
-			flags &= ~BOTTOM_TOOLBAR;
-	}
-
-	public int getToolBarAlignment() {
-		return (flags & BOTTOM_TOOLBAR) != 0 ? SWT.BOTTOM : SWT.TOP;
-	}
-
-	public void addMessageHyperlinkListener(IHyperlinkListener listener) {
-		ensureMessageRegionExists();
-		messageRegion.addMessageHyperlinkListener(listener);
-	}
-
-	public void removeMessageHyperlinkListener(IHyperlinkListener listener) {
-		if (messageRegion != null)
-			messageRegion.removeMessageHyperlinkListener(listener);
-	}
-
-	public String getMessage() {
-		return messageRegion != null ? messageRegion.getMessage() : null;
-	}
-
-	public int getMessageType() {
-		return messageRegion != null ? messageRegion.getMessageType() : 0;
-	}
-
-	public IMessage[] getChildrenMessages() {
-		return messageRegion != null ? messageRegion.getChildrenMessages()
-				: NULL_MESSAGE_ARRAY;
-	}
-
-	private void ensureMessageRegionExists() {
-		// ensure message region exists
-		if (messageRegion == null)
-			messageRegion = new MessageRegion();
-	}
-
-	public void showMessage(String newMessage, int type, IMessage[] messages) {
-		if (messageRegion == null) {
-			// check the trivial case
-			if (newMessage == null)
-				return;
-		} else if (messageRegion.isDisposed())
-			return;
-		ensureMessageRegionExists();
-		messageRegion.showMessage(newMessage, type, messages);
-		titleRegion.updateImage(messageRegion.getMessageImage(), false);
-		if (messageToolTipManager != null)
-			messageToolTipManager.update();
-		layout();
-		redraw();
-	}
-
-	/**
-	 * Tests if the form is in the 'busy' state.
-	 * 
-	 * @return <code>true</code> if busy, <code>false</code> otherwise.
-	 */
-
-	public boolean isBusy() {
-		return titleRegion.isBusy();
-	}
-
-	/**
-	 * Sets the form's busy state. Busy form will display 'busy' animation in
-	 * the area of the title image.
-	 * 
-	 * @param busy
-	 *            the form's busy state
-	 */
-
-	public void setBusy(boolean busy) {
-		if (titleRegion.setBusy(busy))
-			layout();
-	}
-
-	public Control getHeadClient() {
-		return headClient;
-	}
-
-	public void setHeadClient(Control headClient) {
-		if (headClient != null)
-			Assert.isTrue(headClient.getParent() == this);
-		this.headClient = headClient;
-		layout();
-	}
-
-	public void putColor(String key, Color color) {
-		if (color == null)
-			colors.remove(key);
-		else
-			colors.put(key, color);
-	}
-
-	public Color getColor(String key) {
-		return (Color) colors.get(key);
-	}
-
-	public boolean hasColor(String key) {
-		return colors.containsKey(key);
-	}
-
-	public void addDragSupport(int operations, Transfer[] transferTypes,
-			DragSourceListener listener) {
-		titleRegion.addDragSupport(operations, transferTypes, listener);
-	}
-
-	public void addDropSupport(int operations, Transfer[] transferTypes,
-			DropTargetListener listener) {
-		titleRegion.addDropSupport(operations, transferTypes, listener);
-	}
-
-	public IMessageToolTipManager getMessageToolTipManager() {
-		return messageToolTipManager;
-	}
-
-	public void setMessageToolTipManager(
-			IMessageToolTipManager messageToolTipManager) {
-		this.messageToolTipManager = messageToolTipManager;
-	}
-}
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 3c3e037..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormTextModel.java
+++ /dev/null
@@ -1,750 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.util.Vector;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.forms.HyperlinkSettings;
-import org.w3c.dom.Document;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-public class FormTextModel {
-	private static final DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory
-			.newInstance();
-
-	private boolean whitespaceNormalized = true;
-
-	private Vector paragraphs;
-
-	private IFocusSelectable[] selectableSegments;
-
-	private int selectedSegmentIndex = -1;
-	
-	private int savedSelectedLinkIndex = -1;
-
-	private HyperlinkSettings hyperlinkSettings;
-
-	public static final String BOLD_FONT_ID = "f.____bold"; //$NON-NLS-1$
-
-	//private static final int TEXT_ONLY_LINK = 1;
-
-	//private static final int IMG_ONLY_LINK = 2;
-
-	//private static final int TEXT_AND_IMAGES_LINK = 3;
-
-	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 ""; //$NON-NLS-1$
-		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")); //$NON-NLS-1$
-			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_INVALID_ARGUMENT, e);
-		} catch (SAXException e) {
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT, 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();
-		processSubnodes(paragraphs, children, expandURLs);
-	}
-
-	private void processSubnodes(Vector plist, NodeList children, boolean expandURLs) {
-		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, true,
-							getHyperlinkSettings(), null);
-					plist.add(p);
-				}
-			} else if (child.getNodeType() == Node.ELEMENT_NODE) {
-				String tag = child.getNodeName().toLowerCase();
-				if (tag.equals("p")) { //$NON-NLS-1$
-					Paragraph p = processParagraph(child, expandURLs);
-					if (p != null)
-						plist.add(p);
-				} else if (tag.equals("li")) { //$NON-NLS-1$
-					Paragraph p = processListItem(child, expandURLs);
-					if (p != null)
-						plist.add(p);
-				}
-			}
-		}
-	}
-
-	private Paragraph processParagraph(Node paragraph, boolean expandURLs) {
-		NodeList children = paragraph.getChildNodes();
-		NamedNodeMap atts = paragraph.getAttributes();
-		Node addSpaceAtt = atts.getNamedItem("addVerticalSpace"); //$NON-NLS-1$
-		boolean addSpace = true;
-
-		if (addSpaceAtt == null)
-			addSpaceAtt = atts.getNamedItem("vspace"); //$NON-NLS-1$
-
-		if (addSpaceAtt != null) {
-			String value = addSpaceAtt.getNodeValue();
-			addSpace = value.equalsIgnoreCase("true"); //$NON-NLS-1$
-		}
-		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");//$NON-NLS-1$
-		Node styleAtt = atts.getNamedItem("style");//$NON-NLS-1$
-		Node valueAtt = atts.getNamedItem("value");//$NON-NLS-1$
-		Node indentAtt = atts.getNamedItem("indent");//$NON-NLS-1$
-		Node bindentAtt = atts.getNamedItem("bindent");//$NON-NLS-1$
-		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"); //$NON-NLS-1$
-		}
-		if (styleAtt != null) {
-			String value = styleAtt.getNodeValue();
-			if (value.equalsIgnoreCase("text")) { //$NON-NLS-1$
-				style = BulletParagraph.TEXT;
-			} else if (value.equalsIgnoreCase("image")) { //$NON-NLS-1$
-				style = BulletParagraph.IMAGE;
-			} else if (value.equalsIgnoreCase("bullet")) { //$NON-NLS-1$
-				style = BulletParagraph.CIRCLE;
-			}
-		}
-		if (valueAtt != null) {
-			text = valueAtt.getNodeValue();
-			if (style == BulletParagraph.IMAGE)
-				text = "i." + text; //$NON-NLS-1$
-		}
-		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, true,
-							getHyperlinkSettings(), null);
-				}
-			} else if (child.getNodeType() == Node.ELEMENT_NODE) {
-				String name = child.getNodeName();
-				if (name.equalsIgnoreCase("img")) { //$NON-NLS-1$
-					segment = processImageSegment(child);
-				} else if (name.equalsIgnoreCase("a")) { //$NON-NLS-1$
-					segment = processHyperlinkSegment(child,
-							getHyperlinkSettings());
-				} else if (name.equalsIgnoreCase("span")) { //$NON-NLS-1$
-					processTextSegment(p, expandURLs, child);
-				} else if (name.equalsIgnoreCase("b")) { //$NON-NLS-1$
-					String text = getNodeText(child);
-					String fontId = BOLD_FONT_ID;
-					p.parseRegularText(text, expandURLs, true,
-							getHyperlinkSettings(), fontId);
-				} else if (name.equalsIgnoreCase("br")) { //$NON-NLS-1$
-					segment = new BreakSegment();
-				} else if (name.equalsIgnoreCase("control")) { //$NON-NLS-1$
-					segment = processControlSegment(child);
-				}
-			}
-			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 ImageSegment processImageSegment(Node image) {
-		ImageSegment segment = new ImageSegment();
-		processObjectSegment(segment, image, "i."); //$NON-NLS-1$
-		return segment;
-	}
-
-	private ControlSegment processControlSegment(Node control) {
-		ControlSegment segment = new ControlSegment();
-		processObjectSegment(segment, control, "o."); //$NON-NLS-1$
-		Node fill = control.getAttributes().getNamedItem("fill"); //$NON-NLS-1$
-		if (fill!=null) {
-			String value = fill.getNodeValue();
-			boolean doFill = value.equalsIgnoreCase("true"); //$NON-NLS-1$
-			segment.setFill(doFill);
-		}
-		try {
-			Node width = control.getAttributes().getNamedItem("width"); //$NON-NLS-1$
-			if (width!=null) {
-				String value = width.getNodeValue();
-				int doWidth = Integer.parseInt(value);
-				segment.setWidth(doWidth);
-			}
-			Node height = control.getAttributes().getNamedItem("height"); //$NON-NLS-1$
-			if (height!=null) {
-				String value = height.getNodeValue();
-				int doHeight = Integer.parseInt(value);
-				segment.setHeight(doHeight);
-			}
-		}
-		catch (NumberFormatException e) {
-			// ignore invalid width or height
-		}
-		return segment;
-	}
-
-	private void processObjectSegment(ObjectSegment segment, Node object, String prefix) {
-		NamedNodeMap atts = object.getAttributes();
-		Node id = atts.getNamedItem("href"); //$NON-NLS-1$
-		Node align = atts.getNamedItem("align"); //$NON-NLS-1$
-		if (id != null) {
-			String value = id.getNodeValue();
-			segment.setObjectId(prefix + value);
-		}
-		if (align != null) {
-			String value = align.getNodeValue().toLowerCase();
-			if (value.equals("top")) //$NON-NLS-1$
-				segment.setVerticalAlignment(ImageSegment.TOP);
-			else if (value.equals("middle")) //$NON-NLS-1$
-				segment.setVerticalAlignment(ImageSegment.MIDDLE);
-			else if (value.equals("bottom")) //$NON-NLS-1$
-				segment.setVerticalAlignment(ImageSegment.BOTTOM);
-		}
-	}
-
-	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) {
-		NamedNodeMap atts = link.getAttributes();
-		String href = null;
-		boolean wrapAllowed = true;
-		String boldFontId = null;
-
-		Node hrefAtt = atts.getNamedItem("href"); //$NON-NLS-1$
-		if (hrefAtt != null) {
-			href = hrefAtt.getNodeValue();
-		}
-		Node boldAtt = atts.getNamedItem("bold"); //$NON-NLS-1$
-		if (boldAtt != null) {
-			boldFontId = BOLD_FONT_ID;
-		}
-		Node nowrap = atts.getNamedItem("nowrap"); //$NON-NLS-1$
-		if (nowrap != null) {
-			String value = nowrap.getNodeValue();
-			if (value != null && value.equalsIgnoreCase("true")) //$NON-NLS-1$
-				wrapAllowed = false;
-		}
-		Object status = checkChildren(link);
-		if (status instanceof Node) {
-			Node child = (Node)status;
-			ImageHyperlinkSegment segment = new ImageHyperlinkSegment();
-			segment.setHref(href);
-			segment.setWordWrapAllowed(wrapAllowed);
-			Node alt = child.getAttributes().getNamedItem("alt"); //$NON-NLS-1$
-			if (alt!=null)
-				segment.setTooltipText(alt.getNodeValue());
-			Node text = child.getAttributes().getNamedItem("text"); //$NON-NLS-1$
-			if (text!=null)
-				segment.setText(text.getNodeValue());
-			processObjectSegment(segment, child, "i."); //$NON-NLS-1$
-			return segment;
-		}  else if (status instanceof String) {
-			String text = (String) status;
-			TextHyperlinkSegment segment = new TextHyperlinkSegment(text,
-					settings, null);
-			segment.setHref(href);
-			segment.setFontId(boldFontId);
-			Node alt = atts.getNamedItem("alt"); //$NON-NLS-1$
-			if (alt!=null)
-				segment.setTooltipText(alt.getNodeValue());			
-			segment.setWordWrapAllowed(wrapAllowed);
-			return segment;
-		} else {
-			AggregateHyperlinkSegment parent = new AggregateHyperlinkSegment();
-			parent.setHref(href);
-			NodeList children = link.getChildNodes();
-			for (int i = 0; i < children.getLength(); i++) {
-				Node child = children.item(i);
-				if (child.getNodeType() == Node.TEXT_NODE) {
-					String value = child.getNodeValue();
-					TextHyperlinkSegment ts = new TextHyperlinkSegment(
-							getNormalizedText(value), settings, null);
-					Node alt = atts.getNamedItem("alt"); //$NON-NLS-1$
-					if (alt!=null)
-						ts.setTooltipText(alt.getNodeValue());
-					ts.setWordWrapAllowed(wrapAllowed);
-					parent.add(ts);
-				} else if (child.getNodeType() == Node.ELEMENT_NODE) {
-					String name = child.getNodeName();
-					if (name.equalsIgnoreCase("img")) { //$NON-NLS-1$
-						ImageHyperlinkSegment is = new ImageHyperlinkSegment();
-						processObjectSegment(is, child, "i."); //$NON-NLS-1$
-						Node alt = child.getAttributes().getNamedItem("alt"); //$NON-NLS-1$
-						if (alt!=null)
-							is.setTooltipText(alt.getNodeValue());
-						parent.add(is);
-						is.setWordWrapAllowed(wrapAllowed);
-					}
-				}
-			}
-			return parent;
-		}
-	}
-
-	private Object checkChildren(Node node) {
-		boolean text = false;
-		Node imgNode = null;
-		//int status = 0;
-
-		NodeList children = node.getChildNodes();
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			if (child.getNodeType() == Node.TEXT_NODE)
-				text = true;
-			else if (child.getNodeType() == Node.ELEMENT_NODE
-					&& child.getNodeName().equalsIgnoreCase("img")) { //$NON-NLS-1$
-				imgNode = child;
-			}
-		}
-		if (text && imgNode == null)
-			return getNodeText(node);
-		else if (!text && imgNode != null)
-			return imgNode;
-		else return null;
-	}
-
-	private void processTextSegment(Paragraph p, boolean expandURLs,
-			Node textNode) {
-		String text = getNodeText(textNode);
-
-		NamedNodeMap atts = textNode.getAttributes();
-		Node font = atts.getNamedItem("font"); //$NON-NLS-1$
-		Node color = atts.getNamedItem("color"); //$NON-NLS-1$
-		boolean wrapAllowed=true;
-		Node nowrap = atts.getNamedItem("nowrap"); //$NON-NLS-1$
-		if (nowrap != null) {
-			String value = nowrap.getNodeValue();
-			if (value != null && value.equalsIgnoreCase("true")) //$NON-NLS-1$
-				wrapAllowed = false;
-		}
-		String fontId = null;
-		String colorId = null;
-		if (font != null) {
-			fontId = "f." + font.getNodeValue(); //$NON-NLS-1$
-		}
-		if (color != null) {
-			colorId = "c." + color.getNodeValue(); //$NON-NLS-1$
-		}
-		p.parseRegularText(text, expandURLs, wrapAllowed, 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, true, getHyperlinkSettings(),
-						null);
-				p = null;
-			}
-		}
-		if (p != null) {
-			// no new line
-			String text = regularText.substring(pstart);
-			p.parseRegularText(text, convertURLs, true, getHyperlinkSettings(), null);
-		}
-	}
-
-	public HyperlinkSettings getHyperlinkSettings() {
-		// #132723 cannot have null settings
-		if (hyperlinkSettings==null)
-			hyperlinkSettings = new HyperlinkSettings(SWTUtil.getStandardDisplay());
-		return hyperlinkSettings;
-	}
-
-	public void setHyperlinkSettings(HyperlinkSettings settings) {
-		this.hyperlinkSettings = settings;
-	}
-
-	private void reset() {
-		if (paragraphs == null)
-			paragraphs = new Vector();
-		paragraphs.clear();
-		selectedSegmentIndex = -1;
-		savedSelectedLinkIndex = -1;
-		selectableSegments = null;
-	}
-
-	IFocusSelectable[] getFocusSelectableSegments() {
-		if (selectableSegments != null || paragraphs == null)
-			return selectableSegments;
-		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 IFocusSelectable)
-					result.add(segments[j]);
-			}
-		}
-		selectableSegments = (IFocusSelectable[]) result
-				.toArray(new IFocusSelectable[result.size()]);
-		return selectableSegments;
-	}
-	
-	public IHyperlinkSegment getHyperlink(int index) {
-		IFocusSelectable[] selectables = getFocusSelectableSegments();
-		if (selectables.length>index) {
-			IFocusSelectable link = selectables[index];
-			if (link instanceof IHyperlinkSegment)
-				return (IHyperlinkSegment)link;
-		}
-		return null;
-	}
-	
-	public IHyperlinkSegment findHyperlinkAt(int x, int y) {
-		IFocusSelectable[] selectables = getFocusSelectableSegments();
-		for (int i = 0; i < selectables.length; i++) {
-			IFocusSelectable segment = selectables[i];
-			if (segment instanceof IHyperlinkSegment) {
-				IHyperlinkSegment link = (IHyperlinkSegment)segment;
-				if (link.contains(x, y))
-					return link;
-			}
-		}
-		return null;
-	}
-	
-	public int getHyperlinkCount() {
-		return getFocusSelectableSegments().length;
-	}
-	
-	public int indexOf(IHyperlinkSegment link) {
-		IFocusSelectable[] selectables = getFocusSelectableSegments();
-		for (int i = 0; i < selectables.length; i++) {
-			IFocusSelectable segment = selectables[i];
-			if (segment instanceof IHyperlinkSegment) {
-				IHyperlinkSegment l = (IHyperlinkSegment)segment;
-				if (link==l)
-					return i;
-			}
-		}
-		return -1;
-	}
-
-	public ParagraphSegment findSegmentAt(int x, int y) {
-		for (int i = 0; i < paragraphs.size(); i++) {
-			Paragraph p = (Paragraph) paragraphs.get(i);
-			ParagraphSegment segment = p.findSegmentAt(x, y);
-			if (segment != null)
-				return segment;
-		}
-		return null;
-	}
-	
-	public void clearCache(String fontId) {
-		for (int i = 0; i < paragraphs.size(); i++) {
-			Paragraph p = (Paragraph) paragraphs.get(i);
-			p.clearCache(fontId);
-		}
-	}
-
-	public IFocusSelectable getSelectedSegment() {
-		if (selectableSegments==null || selectedSegmentIndex == -1)
-			return null;
-		return selectableSegments[selectedSegmentIndex];
-	}
-	
-	public int getSelectedSegmentIndex() {
-		return selectedSegmentIndex;
-	}
-	
-	public boolean linkExists(IHyperlinkSegment link) {
-		if (selectableSegments==null)
-			return false;
-		for (int i=0; i<selectableSegments.length; i++) {
-			if (selectableSegments[i]==link)
-				return true;
-		}
-		return false;
-	}
-
-	public boolean traverseFocusSelectableObjects(boolean next) {
-		IFocusSelectable[] selectables = getFocusSelectableSegments();
-		if (selectables == null)
-			return false;
-		int size = selectables.length;
-		if (next) {
-			selectedSegmentIndex++;
-		} else
-			selectedSegmentIndex--;
-
-		if (selectedSegmentIndex < 0 || selectedSegmentIndex > size - 1) {
-			selectedSegmentIndex = -1;
-		}
-		return selectedSegmentIndex != -1;
-	}
-	
-	public IFocusSelectable getNextFocusSegment(boolean next) {
-		IFocusSelectable[] selectables = getFocusSelectableSegments();
-		if (selectables == null)
-			return null;
-		int nextIndex = next?selectedSegmentIndex+1:selectedSegmentIndex-1;
-
-		if (nextIndex < 0 || nextIndex > selectables.length - 1) {
-			return null;
-		}
-		return selectables[nextIndex];
-	}
-	
-	public boolean restoreSavedLink() {
-		if (savedSelectedLinkIndex!= -1) {
-			selectedSegmentIndex = savedSelectedLinkIndex;
-			return true;
-		}
-		return false;
-	}
-
-	public void selectLink(IHyperlinkSegment link) {
-		if (link == null) {
-			savedSelectedLinkIndex = selectedSegmentIndex;	
-			selectedSegmentIndex = -1;
-		}
-		else {
-			select(link);
-
-		}
-	}
-	
-	public void select(IFocusSelectable selectable) {
-		IFocusSelectable[] selectables = getFocusSelectableSegments();
-		selectedSegmentIndex = -1;
-		if (selectables == null)
-			return;
-		for (int i = 0; i < selectables.length; i++) {
-			if (selectables[i].equals(selectable)) {
-				selectedSegmentIndex = i;
-				break;
-			}
-		}
-	}
-
-	public boolean hasFocusSegments() {
-		IFocusSelectable[] segments = getFocusSelectableSegments();
-		if (segments.length > 0)
-			return true;
-		return false;
-	}
-
-	public void dispose() {
-		paragraphs = null;
-		selectedSegmentIndex = -1;
-		savedSelectedLinkIndex = -1;
-		selectableSegments = 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 dc32da7..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormUtil.java
+++ /dev/null
@@ -1,515 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Chriss Gross (schtoo@schtoo.com) - fix for 61670
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import com.ibm.icu.text.BreakIterator;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.graphics.Device;
-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.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Combo;
-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.ScrollBar;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.widgets.ColumnLayout;
-import org.eclipse.ui.forms.widgets.Form;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ILayoutExtension;
-
-public class FormUtil {
-	public static final String PLUGIN_ID = "org.eclipse.ui.forms"; //$NON-NLS-1$
-
-	static final int H_SCROLL_INCREMENT = 5;
-
-	static final int V_SCROLL_INCREMENT = 64;
-
-	public static final String DEBUG = PLUGIN_ID + "/debug"; //$NON-NLS-1$
-
-	public static final String DEBUG_TEXT = DEBUG + "/text"; //$NON-NLS-1$
-	public static final String DEBUG_TEXTSIZE = DEBUG + "/textsize"; //$NON-NLS-1$
-
-	public static final String DEBUG_FOCUS = DEBUG + "/focus"; //$NON-NLS-1$
-
-	public static final String FOCUS_SCROLLING = "focusScrolling"; //$NON-NLS-1$
-	
-	public static final String IGNORE_BODY = "__ignore_body__"; //$NON-NLS-1$
-
-	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, ""); //$NON-NLS-1$
-		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); //$NON-NLS-1$
-		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, ""); //$NON-NLS-1$
-		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;
-		}
-		String lastWord = text.substring(last);
-		Point extent = gc.textExtent(lastWord);
-		width = Math.max(width, extent.x);
-		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);
-			if (extent.x > wHint) {
-				// overflow
-				saved = last;
-				height += extent.y;
-			} else {
-				maxWidth = Math.max(maxWidth, extent.x);
-			}
-			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) {
-			Object data = scomp.getData(FOCUS_SCROLLING);
-			if (data == null || !data.equals(Boolean.FALSE))
-				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;
-
-		// horizontal right, but only if the control is smaller
-		// than the client area
-		if (controlSize.x < area.width
-				&& (controlOrigin.x + controlSize.x > scompOrigin.x
-						+ area.width)) {
-			x = controlOrigin.x + controlSize.x - area.width;
-		}
-		// horizontal left - make sure the left edge of
-		// the control is showing
-		if (controlOrigin.x < x) {
-			if (controlSize.x < area.width)
-				x = controlOrigin.x + controlSize.x - area.width;
-			else
-				x = controlOrigin.x;
-		}
-		// vertical bottom
-		if (controlSize.y < area.height
-				&& (controlOrigin.y + controlSize.y > scompOrigin.y
-						+ area.height)) {
-			y = controlOrigin.y + controlSize.y - area.height;
-		}
-		// vertical top - make sure the top of
-		// the control is showing
-		if (controlOrigin.y < y) {
-			if (controlSize.y < area.height)
-				y = controlOrigin.y + controlSize.y - area.height;
-			else
-				y = controlOrigin.y;
-		}
-
-		if (scompOrigin.x != x || scompOrigin.y != y) {
-			// scroll to reveal
-			scomp.setOrigin(x, y);
-		}
-	}
-
-	public static void ensureVisible(ScrolledComposite scomp, Control control,
-			MouseEvent e) {
-		Point controlOrigin = getControlLocation(scomp, control);
-		int rX = controlOrigin.x + e.x;
-		int rY = controlOrigin.y + e.y;
-		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 (rX > scompOrigin.x + area.width) {
-			x = rX - area.width;
-		}
-		// horizontal left
-		else if (rX < x) {
-			x = rX;
-		}
-		// vertical bottom
-		if (rY > scompOrigin.y + area.height) {
-			y = rY - area.height;
-		}
-		// vertical top
-		else if (rY < y) {
-			y = rY;
-		}
-
-		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:
-				if (scomp.getData("novarrows") == null) //$NON-NLS-1$
-					FormUtil.scrollVertical(scomp, false);
-				break;
-			case SWT.ARROW_UP:
-				if (scomp.getData("novarrows") == null) //$NON-NLS-1$
-					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.getStyle() & SWT.WRAP) != 0)
-			return true;
-		if (c instanceof Composite) {
-			return ((Composite) c).getLayout() instanceof ILayoutExtension;
-		}
-		return false;
-	}
-
-	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;
-	}
-
-	public static Form getForm(Control c) {
-		Composite parent = c.getParent();
-		while (parent != null) {
-			if (parent instanceof Form) {
-				return (Form) parent;
-			}
-			parent = parent.getParent();
-		}
-		return null;
-	}
-
-	public static Image createAlphaMashImage(Device device, Image srcImage) {
-		Rectangle bounds = srcImage.getBounds();
-		int alpha = 0;
-		int calpha = 0;
-		ImageData data = srcImage.getImageData();
-		// Create a new image with alpha values alternating
-		// between fully transparent (0) and fully opaque (255).
-		// This image will show the background through the
-		// transparent pixels.
-		for (int i = 0; i < bounds.height; i++) {
-			// scan line
-			alpha = calpha;
-			for (int j = 0; j < bounds.width; j++) {
-				// column
-				data.setAlpha(j, i, alpha);
-				alpha = alpha == 255 ? 0 : 255;
-			}
-			calpha = calpha == 255 ? 0 : 255;
-		}
-		return new Image(device, data);
-	}
-
-	public static Font createBoldFont(Display display, Font regularFont) {
-		FontData[] fontDatas = regularFont.getFontData();
-		for (int i = 0; i < fontDatas.length; i++) {
-			fontDatas[i].setStyle(fontDatas[i].getStyle() | SWT.BOLD);
-		}
-		return new Font(display, fontDatas);
-	}
-
-	public static boolean mnemonicMatch(String text, char key) {
-		char mnemonic = findMnemonic(text);
-		if (mnemonic == '\0')
-			return false;
-		return Character.toUpperCase(key) == Character.toUpperCase(mnemonic);
-	}
-
-	private static char findMnemonic(String string) {
-		int index = 0;
-		int length = string.length();
-		do {
-			while (index < length && string.charAt(index) != '&')
-				index++;
-			if (++index >= length)
-				return '\0';
-			if (string.charAt(index) != '&')
-				return string.charAt(index);
-			index++;
-		} while (index < length);
-		return '\0';
-	}
-	
-	public static void setFocusScrollingEnabled(Control c, boolean enabled) {
-		ScrolledComposite scomp = null;
-		
-		if (c instanceof ScrolledComposite)
-			scomp = (ScrolledComposite)c;
-		else
-			scomp = getScrolledComposite(c);
-		if (scomp!=null)
-			scomp.setData(FormUtil.FOCUS_SCROLLING, enabled?null:Boolean.FALSE);
-	}
-	
-	public static void setAntialias(GC gc, int style) {
-		if (!gc.getAdvanced()) {
-			gc.setAdvanced(true);
-			if (!gc.getAdvanced())
-				return;
-		}
-		gc.setAntialias(style);
-	}
-}
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 b0927db..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/FormsResources.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 int getProgressDelay(int index) {
-		/*
-		if (progressDelays==null)
-			return 0;
-		return progressDelays[index];
-		*/
-		return 100;
-	}
-	
-	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;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/IFocusSelectable.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/IFocusSelectable.java
deleted file mode 100644
index e4b9a76..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/IFocusSelectable.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.Rectangle;
-
-public interface IFocusSelectable {
-	boolean isFocusSelectable(Hashtable resourceTable);
-	boolean setFocus(Hashtable resourceTable, boolean direction);
-	Rectangle getBounds();
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/IHyperlinkSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/IHyperlinkSegment.java
deleted file mode 100644
index 57d11a9..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/IHyperlinkSegment.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Chriss Gross (schtoo@schtoo.com) - fix for 61670
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.graphics.GC;
-
-public interface IHyperlinkSegment extends IFocusSelectable {
-	String getHref();
-	String getText();
-	void paintFocus(GC gc, Color bg, Color fg, boolean selected, Rectangle repaintRegion);
-	boolean contains(int x, int y);
-	boolean intersects(Rectangle rect);
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ImageHyperlinkSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ImageHyperlinkSegment.java
deleted file mode 100644
index b4afb01..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ImageHyperlinkSegment.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 ImageHyperlinkSegment extends ImageSegment implements
-		IHyperlinkSegment {
-	private String href;
-	private String text;
-
-	private String tooltipText;
-
-	public ImageHyperlinkSegment() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.IHyperlinkSegment#setHref(java.lang.String)
-	 */
-	public void setHref(String href) {
-		this.href = href;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.IHyperlinkSegment#getHref()
-	 */
-	public String getHref() {
-		return href;
-	}
-
-	public void paintFocus(GC gc, Color bg, Color fg, boolean selected,
-			Rectangle repaintRegion) {
-		Rectangle bounds = getBounds();
-		if (bounds == null)
-			return;
-		if (selected) {
-			gc.setBackground(bg);
-			gc.setForeground(fg);
-			gc.drawFocus(bounds.x, bounds.y, bounds.width, bounds.height);
-		} else {
-			gc.setForeground(bg);
-			gc.drawRectangle(bounds.x, bounds.y, bounds.width - 1,
-					bounds.height - 1);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.IHyperlinkSegment#isWordWrapAllowed()
-	 */
-	public boolean isWordWrapAllowed() {
-		return !isNowrap();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.IHyperlinkSegment#setWordWrapAllowed(boolean)
-	 */
-	public void setWordWrapAllowed(boolean value) {
-		setNowrap(!value);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.IHyperlinkSegment#getText()
-	 */
-	public String getText() {
-		return text!=null?text:""; //$NON-NLS-1$
-	}
-	
-	public void setText(String text) {
-		this.text = text;
-	}
-
-	/**
-	 * @return Returns the tooltipText.
-	 */
-	public String getTooltipText() {
-		return tooltipText;
-	}
-
-	/**
-	 * @param tooltipText
-	 *            The tooltipText to set.
-	 */
-	public void setTooltipText(String tooltipText) {
-		this.tooltipText = tooltipText;
-	}
-	
-	public boolean isSelectable() {
-		return true;
-	}
-
-	public boolean isFocusSelectable(Hashtable resourceTable) {
-		return true;
-	}
-
-	public boolean setFocus(Hashtable resourceTable, boolean direction) {
-		return true;
-	}
-}
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 a8e8613..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ImageSegment.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.*;
-
-/**
- * @version 1.0
- * @author
- */
-public class ImageSegment extends ObjectSegment {
-	public static final String SEL_IMAGE_PREFIX = "isel."; //$NON-NLS-1$
-
-	public Image getImage(Hashtable objectTable) {
-		return getImage(getObjectId(), objectTable);
-	}
-
-	private Image getImage(String key, Hashtable objectTable) {
-		if (key == null)
-			return null;
-		Object obj = objectTable.get(key);
-		if (obj == null)
-			return null;
-		if (obj instanceof Image)
-			return (Image) obj;
-		return null;
-	}
-
-	private Image getSelectedImage(Hashtable objectTable, SelectionData selData) {
-		String key = SEL_IMAGE_PREFIX + getObjectId();
-		Image image = getImage(key, objectTable);
-		if (image==null) {
-			image = FormUtil.createAlphaMashImage(selData.display, getImage(objectTable));
-			if (image!=null)
-				objectTable.put(key, image);
-		}
-		return image;
-	}
-/*
-	private String getSelectedImageId() {
-		if (getObjectId() == null)
-			return null;
-		return SEL_IMAGE_PREFIX + getObjectId();
-	}
-*/
-	
-	public void paint(GC gc, boolean hover, Hashtable resourceTable, boolean selected, SelectionData selData, Rectangle repaintRegion) {
-		Image image = getImage(resourceTable);
-		int iwidth = 0;
-		int iheight = 0;
-		if (image != null) {
-			Rectangle rect = image.getBounds();
-			iwidth = rect.width + (isSelectable()?2:0);
-			iheight = rect.height + (isSelectable()?2:0);
-		} else
-			return;
-		Rectangle bounds = getBounds();
-		int ix = bounds.x+(isSelectable()?1:0);
-		int iy = bounds.y+(isSelectable()?1:0);
-
-		if (selData != null) {
-			int leftOffset = selData.getLeftOffset(bounds.height);
-			int rightOffset = selData.getRightOffset(bounds.height);
-			boolean firstRow = selData.isFirstSelectionRow(bounds.y,
-					bounds.height);
-			boolean lastRow = selData.isLastSelectionRow(bounds.y,
-					bounds.height);
-			boolean selectedRow = selData
-					.isSelectedRow(bounds.y, bounds.height);
-			if (selectedRow) {
-				if ((firstRow && leftOffset > ix) ||
-					(lastRow && rightOffset < ix + iwidth/2)) {
-					drawClipImage(gc, image, ix, iy, repaintRegion);
-				}
-				else {
-					Color savedBg = gc.getBackground();
-					gc.setBackground(selData.bg);
-					int sx = ix;
-					int sy = iy;
-					if (repaintRegion!=null) {
-						sx -= repaintRegion.x;
-						sy -= repaintRegion.y;
-					}
-					gc.fillRectangle(sx, sy, iwidth, iheight);
-					Image selImage = getSelectedImage(resourceTable, selData);
-					gc.drawImage(selImage, sx, sy);
-					gc.setBackground(savedBg);
-				}
-			}
-			else
-				drawClipImage(gc, image, ix, iy, repaintRegion);
-		} else
-			drawClipImage(gc, image, ix, iy, repaintRegion);
-		if (selected) {
-			int fx = bounds.x;
-			int fy = bounds.y;
-			if (repaintRegion!=null) {
-				fx -= repaintRegion.x;
-				fy -= repaintRegion.y;
-			}
-			Color fg = gc.getForeground();
-			gc.setForeground(gc.getBackground());
-			// Clean up to avoid canceling out XOR if it is already
-			// selected.
-			gc.drawRectangle(bounds.x, bounds.y, bounds.width - 1,
-					bounds.height - 1);
-			gc.setForeground(fg);
-			gc.drawFocus(fx, fy, bounds.width, bounds.height);
-		}
-	}
-	private void drawClipImage(GC gc, Image image, int ix, int iy, Rectangle repaintRegion) {
-		if (repaintRegion!=null) {
-			ix -= repaintRegion.x;
-			iy -= repaintRegion.y;
-		}
-		gc.drawImage(image, ix, iy);			
-	}
-
-	protected Point getObjectSize(Hashtable resourceTable, int wHint) {
-		Image image = getImage(resourceTable);
-		if (image==null)
-			return new Point(0, 0);
-		Rectangle ibounds = image.getBounds();
-		return new Point(ibounds.width, ibounds.height);
-	}
-}
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 fc098c6..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/Locator.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.ArrayList;
-
-public class Locator implements Cloneable { 
-	public int indent;
-	public int x, y;
-	public int width;
-	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() {
-		heights.add(new int [] { rowHeight, leading} );
-		rowCounter++;
-	}
-	public int getBaseline(int segmentHeight) {
-		return getBaseline(segmentHeight, true);
-
-	}
-	public int getMiddle(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/2 - segmentHeight/2 - rleading;
-			return y + rheight/2 - segmentHeight/2;
-		}
-		return y;		
-	}
-	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;
-			return y + rheight - segmentHeight;
-		}
-		return y;
-	}
-	
-	public void resetCaret() {
-		x = getStartX();
-	}
-	public int getStartX() {
-		return marginWidth + indent;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ObjectSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ObjectSegment.java
deleted file mode 100644
index 7a75fb2..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ObjectSegment.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.*;
-
-
-public abstract class ObjectSegment 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 boolean nowrap=false;
-	private Rectangle bounds;
-	private String objectId;
-
-	public int getVerticalAlignment() {
-		return alignment;
-	}
-
-	void setVerticalAlignment(int alignment) {
-		this.alignment = alignment;
-	}
-
-	public String getObjectId() {
-		return objectId;
-	}
-
-	void setObjectId(String objectId) {
-		this.objectId = objectId;
-	}
-	
-	protected abstract Point getObjectSize(Hashtable resourceTable, int wHint);
-
-	public boolean advanceLocator(GC gc, int wHint, Locator loc,
-			Hashtable objectTable, boolean computeHeightOnly) {
-		Point objectSize = getObjectSize(objectTable, wHint);
-		int iwidth = 0;
-		int iheight = 0;
-		boolean newLine = false;
-
-		if (objectSize != null) {
-			iwidth = objectSize.x + (isSelectable()?2:0);
-			iheight = objectSize.y + (isSelectable()?2:0);
-		}
-		if (wHint != SWT.DEFAULT && !nowrap && loc.x + iwidth > wHint) {
-			// new line
-			if (computeHeightOnly)
-				loc.collectHeights();
-			loc.x = loc.indent;
-			loc.x += iwidth;
-			loc.y += loc.rowHeight;
-			loc.width = loc.indent + iwidth;
-			loc.rowHeight = iheight;
-			loc.leading = 0;
-			newLine = true;
-		} else {
-			loc.x += iwidth;
-			loc.width += iwidth;
-			loc.rowHeight = Math.max(loc.rowHeight, iheight);
-		}
-		return newLine;
-	}
-
-	public boolean contains(int x, int y) {
-		if (bounds==null) 
-			return false;
-		return bounds.contains(x, y);
-	}
-	public boolean intersects(Rectangle rect) {
-		if (bounds==null)
-			return false;
-		return bounds.intersects(rect);
-	}
-
-	public Rectangle getBounds() {
-		return bounds;
-	}
-
-	public boolean isSelectable() {
-		return false;
-	}
-	/**
-	 * @return Returns the nowrap.
-	 */
-	public boolean isNowrap() {
-		return nowrap;
-	}
-	/**
-	 * @param nowrap The nowrap to set.
-	 */
-	public void setNowrap(boolean nowrap) {
-		this.nowrap = nowrap;
-	}
-	public void paint(GC gc, boolean hover, Hashtable resourceTable, boolean selected, SelectionData selData, Rectangle repaintRegion) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.forms.widgets.ParagraphSegment#layout(org.eclipse.swt.graphics.GC, int, org.eclipse.ui.internal.forms.widgets.Locator, java.util.Hashtable, boolean, org.eclipse.ui.internal.forms.widgets.SelectionData)
-	 */
-	public void layout(GC gc, int width, Locator loc, Hashtable resourceTable,
-			boolean selected) {
-		Point size = getObjectSize(resourceTable, width);
-
-		int objWidth = 0;
-		int objHeight = 0;
-		if (size != null) {
-			objWidth = size.x + (isSelectable()?2:0);
-			objHeight = size.y + (isSelectable()?2:0);
-		} else
-			return;
-		loc.width = objWidth;
-
-		if (!nowrap && loc.x + objWidth > width) {
-			// new row
-			loc.newLine();
-			loc.rowCounter++;
-		}
-		int ix = loc.x;
-		int iy = loc.y;
-		
-		if (alignment==MIDDLE)
-			iy = loc.getMiddle(objHeight, false);
-		else if (alignment==BOTTOM)
-			iy = loc.getBaseline(objHeight, false);
-		loc.x += objWidth;
-		loc.rowHeight = Math.max(loc.rowHeight, objHeight);
-		bounds = new Rectangle(ix, iy, objWidth, objHeight);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.forms.widgets.ParagraphSegment#computeSelection(org.eclipse.swt.graphics.GC, java.util.Hashtable, boolean, org.eclipse.ui.internal.forms.widgets.SelectionData)
-	 */
-	public void computeSelection(GC gc, Hashtable resourceTable, SelectionData selData) {
-		// TODO we should add this to the selection 
-		// if we want to support rich text
-	}
-}
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 ce6a48b..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/Paragraph.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Vector;
-
-import org.eclipse.swt.graphics.*;
-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://"; //$NON-NLS-1$
-
-	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, boolean wrapAllowed,
-			HyperlinkSettings settings, String fontId) {
-		parseRegularText(text, expandURLs, wrapAllowed, settings, fontId, null);
-	}
-
-	public void parseRegularText(String text, boolean expandURLs, boolean wrapAllowed,
-			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, wrapAllowed));
-			else {
-				int textLoc = 0;
-				while (loc != -1) {
-					addSegment(new TextSegment(text.substring(textLoc, loc),
-							fontId, colorId, wrapAllowed));
-					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, wrapAllowed));
-				}
-			}
-		} else {
-			addSegment(new TextSegment(text, fontId, colorId, wrapAllowed));
-		}
-	}
-
-	private void addHyperlinkSegment(String text, HyperlinkSettings settings,
-			String fontId) {
-		TextHyperlinkSegment hs = new TextHyperlinkSegment(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;
-		int innerWidth = width - loc.marginWidth*2;
-		for (int j = 0; j < segments.length; j++) {
-			ParagraphSegment segment = segments[j];
-			segment.advanceLocator(gc, innerWidth, hloc, resourceTable, true);
-		}
-		hloc.collectHeights();
-		loc.heights = heights;
-		loc.rowCounter = 0;
-	}
-
-	public void layout(GC gc, int width, Locator loc, int lineHeight,
-			Hashtable resourceTable, IHyperlinkSegment selectedLink) {
-		ParagraphSegment[] segments = getSegments();
-		//int height;
-		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.layout(gc, width, loc, resourceTable, doSelect);
-			}
-			loc.heights = null;
-			loc.y += loc.rowHeight;
-		} else {
-			loc.y += lineHeight;
-		}
-	}
-
-	public void paint(GC gc, Rectangle repaintRegion,
-			Hashtable resourceTable, IHyperlinkSegment selectedLink,
-			SelectionData selData) {
-		ParagraphSegment[] segments = getSegments();
-
-		for (int i = 0; i < segments.length; i++) {
-			ParagraphSegment segment = segments[i];
-			if (!segment.intersects(repaintRegion))
-				continue;
-			boolean doSelect = false;
-			if (selectedLink != null && segment.equals(selectedLink))
-				doSelect = true;
-			segment.paint(gc, false, resourceTable, doSelect, selData, repaintRegion);
-		}
-	}
-	
-	public void computeSelection(GC gc,	Hashtable resourceTable, IHyperlinkSegment selectedLink,
-			SelectionData selData) {
-		ParagraphSegment[] segments = getSegments();
-
-		for (int i = 0; i < segments.length; i++) {
-			ParagraphSegment segment = segments[i];
-			//boolean doSelect = false;
-			//if (selectedLink != null && segment.equals(selectedLink))
-				//doSelect = true;
-			segment.computeSelection(gc, resourceTable, selData);
-		}
-	}
-
-	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 ParagraphSegment findSegmentAt(int x, int y) {
-		if (segments != null) {
-			for (int i = 0; i < segments.size(); i++) {
-				ParagraphSegment segment = (ParagraphSegment) segments.get(i);
-				if (segment.contains(x, y))
-					return segment;
-			}
-		}
-		return null;
-	}
-	public void clearCache(String fontId) {
-		if (segments != null) {
-			for (int i = 0; i < segments.size(); i++) {
-				ParagraphSegment segment = (ParagraphSegment) segments.get(i);
-				segment.clearCache(fontId);
-			}
-		}
-	}
-}
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 150f15e..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/ParagraphSegment.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.swt.graphics.GC;
-
-/**
- * @version 	1.0
- * @author
- */
-public abstract class ParagraphSegment {
-	/**
-	 * Moves the locator according to the content of this segment.
-	 * @param gc
-	 * @param wHint
-	 * @param loc
-	 * @param objectTable
-	 * @param computeHeightOnly
-	 * @return <code>true</code> if text wrapped to the new line, <code>false</code> otherwise.
-	 */
-	public abstract boolean advanceLocator(GC gc, int wHint, Locator loc, Hashtable objectTable, boolean computeHeightOnly);
-	/**
-	 * Computes bounding rectangles and row heights of this segments.
-	 * @param gc
-	 * @param width
-	 * @param loc
-	 * @param resourceTable
-	 * @param selected
-	 */
-	public abstract void layout(GC gc, int width, Locator loc, Hashtable resourceTable, boolean selected);
-	/**
-	 * Paints this segment.
-	 * @param gc
-	 * @param hover
-	 * @param resourceTable
-	 * @param selected
-	 * @param selData
-	 * @param region
-	 */
-	public abstract void paint(GC gc, boolean hover, Hashtable resourceTable, boolean selected, SelectionData selData, Rectangle region);
-	/**
-	 * Paints this segment.
-	 * @param gc
-	 * @param resourceTable
-	 * @param selData
-	 */
-	public abstract void computeSelection(GC gc, Hashtable resourceTable, SelectionData selData);	
-	/**
-	 * Tests if the coordinates are contained in one of the
-	 * bounding rectangles of this segment.
-	 * @param x
-	 * @param y
-	 * @return true if inside the bounding rectangle, false otherwise.
-	 */
-	public abstract boolean contains(int x, int y);
-	/**
-	 * Tests if the source rectangle intersects with
-	 * one of the bounding rectangles of this segment.
-	 * @param rect
-	 * @return true if the two rectangles intersect, false otherwise.
-	 */
-	public abstract boolean intersects(Rectangle rect);
-	/**
-	 * Returns the tool tip of this segment or <code>null</code>
-	 * if not defined.
-	 * @return tooltip or <code>null</code>.
-	 */
-	public String getTooltipText() {
-		return null;
-	}
-	/**
-	 * Clears the text metrics cache for the provided font id.
-	 * @param fontId the id of the font that the cache is kept for.
-	 * 
-	 */
-	public void clearCache(String fontId) {
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/PixelConverter.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/PixelConverter.java
deleted file mode 100644
index be1f31e..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/PixelConverter.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.widgets.Control;
-
-public class PixelConverter {
-	/**
-	 * Number of horizontal dialog units per character, value <code>4</code>.
-	 */
-	private static final int HORIZONTAL_DIALOG_UNIT_PER_CHAR = 4;
-
-	private FontMetrics fFontMetrics;
-
-	public PixelConverter(Control control) {
-		GC gc = new GC(control);
-		gc.setFont(control.getFont());
-		fFontMetrics = gc.getFontMetrics();
-		gc.dispose();
-	}
-
-	public int convertHorizontalDLUsToPixels(int dlus) {
-		// round to the nearest pixel
-		return (fFontMetrics.getAverageCharWidth() * dlus + HORIZONTAL_DIALOG_UNIT_PER_CHAR / 2)
-				/ HORIZONTAL_DIALOG_UNIT_PER_CHAR;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/SWTUtil.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/SWTUtil.java
deleted file mode 100644
index 8351965..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/SWTUtil.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-import org.eclipse.swt.dnd.DragSource;
-import org.eclipse.swt.dnd.DropTarget;
-import org.eclipse.swt.widgets.Caret;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * Utility class to simplify access to some SWT resources. 
- */
-public class SWTUtil {
-
-	/**
-	 * Returns the standard display to be used. The method first checks, if
-	 * the thread calling this method has an associated disaply. If so, this
-	 * display is returned. Otherwise the method returns the default display.
-	 */
-	public static Display getStandardDisplay() {
-		Display display;
-		display = Display.getCurrent();
-		if (display == null)
-			display = Display.getDefault();
-		return display;
-	}
-
-	/**
-	 * Returns the shell for the given widget. If the widget doesn't represent
-	 * a SWT object that manage a shell, <code>null</code> is returned.
-	 * 
-	 * @return the shell for the given widget
-	 */
-	public static Shell getShell(Widget widget) {
-		if (widget instanceof Control)
-			return ((Control) widget).getShell();
-		if (widget instanceof Caret)
-			return ((Caret) widget).getParent().getShell();
-		if (widget instanceof DragSource)
-			return ((DragSource) widget).getControl().getShell();
-		if (widget instanceof DropTarget)
-			return ((DropTarget) widget).getControl().getShell();
-		if (widget instanceof Menu)
-			return ((Menu) widget).getParent().getShell();
-		if (widget instanceof ScrollBar)
-			return ((ScrollBar) widget).getParent().getShell();
-
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/SelectionData.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/SelectionData.java
deleted file mode 100644
index c73a6bf..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/SelectionData.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.ArrayList;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Display;
-
-public class SelectionData {
-	public Display display;
-	public Color bg;
-	public Color fg;
-	private Point start;
-	private Point stop;
-	private ArrayList segments;
-	private boolean newLineNeeded;
-	
-	public SelectionData(MouseEvent e) {
-		display = e.display;
-		segments = new ArrayList();
-		start = new Point(e.x, e.y);
-		stop = new Point(e.x, e.y);
-		bg = e.display.getSystemColor(SWT.COLOR_LIST_SELECTION);
-		fg = e.display.getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT);
-	}
-	
-	public void markNewLine() {
-		newLineNeeded=true;
-	}
-	public void addSegment(String text) {
-		if (newLineNeeded) {
-			segments.add(System.getProperty("line.separator")); //$NON-NLS-1$
-			newLineNeeded=false;
-		}
-		segments.add(text);
-	}
-
-	public void update(MouseEvent e) {
-		//Control c = (Control)e.widget;
-		stop.x = e.x;
-		stop.y = e.y;
-	}
-	public void reset() {
-		segments.clear();
-	}
-	public String getSelectionText() {
-		StringBuffer buf = new StringBuffer();
-		for (int i=0; i<segments.size(); i++) {
-			buf.append((String)segments.get(i));
-		}
-		return buf.toString();
-	}
-	public boolean canCopy() {
-		return segments.size()>0;
-	}
-	
-	private int getTopOffset() {
-		return start.y<stop.y?start.y:stop.y;
-	}
-	private int getBottomOffset() {
-		return start.y>stop.y?start.y:stop.y;
-	}
-	public int getLeftOffset(Locator locator) {
-		return isInverted(locator)? stop.x:start.x;
-	}
-	public int getLeftOffset(int rowHeight) {
-		return isInverted(rowHeight) ? stop.x:start.x;
-	}
-	public int getRightOffset(Locator locator) {
-		return isInverted(locator)? start.x: stop.x;
-	}
-	public int getRightOffset(int rowHeight) {
-		return isInverted(rowHeight) ? start.x:stop.x;
-	}
-	private boolean isInverted(Locator locator) {
-		int rowHeight = ((int [])locator.heights.get(locator.rowCounter))[0];
-		return isInverted(rowHeight);
-	}
-	private boolean isInverted(int rowHeight) {
-		int deltaY = start.y - stop.y;
-		if (Math.abs(deltaY) > rowHeight) {
-			// inter-row selection
-			return deltaY>0;
-		}
-		// intra-row selection
-		return start.x > stop.x; 
-	}
-	public boolean isEnclosed() {
-		return !start.equals(stop);
-	}
-
-	public boolean isSelectedRow(Locator locator) {
-		if (!isEnclosed())
-			return false;
-		int rowHeight = ((int [])locator.heights.get(locator.rowCounter))[0];
-		return isSelectedRow(locator.y, rowHeight);
-	}
-	public boolean isSelectedRow(int y, int rowHeight) {
-		if (!isEnclosed())
-			return false;
-		return (y + rowHeight >= getTopOffset() &&
-				y <= getBottomOffset());
-	}
-	public boolean isFirstSelectionRow(Locator locator) {
-		if (!isEnclosed())
-			return false;
-		int rowHeight = ((int [])locator.heights.get(locator.rowCounter))[0];
-		return (locator.y + rowHeight >= getTopOffset() &&
-				locator.y <= getTopOffset());
-	}
-	public boolean isFirstSelectionRow(int y, int rowHeight) {
-		if (!isEnclosed())
-			return false;
-		return (y + rowHeight >= getTopOffset() &&
-				y <= getTopOffset());
-	}
-	public boolean isLastSelectionRow(Locator locator) {
-		if (!isEnclosed())
-			return false;
-		int rowHeight = ((int [])locator.heights.get(locator.rowCounter))[0];
-		return (locator.y + rowHeight >=getBottomOffset() && 
-				locator.y <= getBottomOffset());
-	}
-	public boolean isLastSelectionRow(int y, int rowHeight) {
-		if (!isEnclosed())
-			return false;
-		return (y + rowHeight >=getBottomOffset() && 
-				y <= getBottomOffset());
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TextHyperlinkSegment.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TextHyperlinkSegment.java
deleted file mode 100644
index 78224d2..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TextHyperlinkSegment.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 TextHyperlinkSegment extends TextSegment implements
-		IHyperlinkSegment {
-	private String href;
-
-	private String tooltipText;
-
-	//private static final String LINK_FG = "c.___link_fg";
-
-	private HyperlinkSettings settings;
-
-	public TextHyperlinkSegment(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;
-	}
-
-	public void setHref(String href) {
-		this.href = href;
-	}
-
-	/*
-	 * public void paint(GC gc, int width, Locator locator, Hashtable
-	 * resourceTable, boolean selected, SelectionData selData) {
-	 * resourceTable.put(LINK_FG, settings.getForeground());
-	 * setColorId(LINK_FG); super.paint(gc, width, locator, resourceTable,
-	 * selected, selData); }
-	 */
-
-	public void paint(GC gc, boolean hover, Hashtable resourceTable,
-			boolean selected, SelectionData selData, Rectangle repaintRegion) {
-		boolean rolloverMode = settings.getHyperlinkUnderlineMode() == HyperlinkSettings.UNDERLINE_HOVER;
-		Color savedFg = gc.getForeground();
-		Color newFg = hover ? settings.getActiveForeground() : settings
-				.getForeground();
-		if (newFg!=null)
-			gc.setForeground(newFg); 
-		super.paint(gc, hover, resourceTable, selected, rolloverMode, selData,
-				repaintRegion);
-		gc.setForeground(savedFg);
-	}
-
-	public String getTooltipText() {
-		return tooltipText;
-	}
-
-	public void setTooltipText(String tooltip) {
-		this.tooltipText = tooltip;
-	}
-	
-	public boolean isSelectable() {
-		return true;
-	}
-
-	public boolean isFocusSelectable(Hashtable resourceTable) {
-		return true;
-	}
-
-	public boolean setFocus(Hashtable resourceTable, boolean direction) {
-		return true;
-	}
-}
\ 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 5ed3434..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TextSegment.java
+++ /dev/null
@@ -1,724 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Vector;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-
-import com.ibm.icu.text.BreakIterator;
-
-/**
- * @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();
-
-	private TextFragment[] textFragments;
-
-	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 boolean intersects(Rectangle region) {
-			return rect.intersects(region);
-		}
-
-		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);
-		}
-	}
-
-	static class SelectionRange {
-		public int start;
-
-		public int stop;
-
-		public SelectionRange() {
-			reset();
-		}
-
-		public void reset() {
-			start = -1;
-			stop = -1;
-		}
-	}
-
-	static class TextFragment {
-		short index;
-
-		short length;
-
-		public TextFragment(short index, short length) {
-			this.index = index;
-			this.length = length;
-		}
-	}
-
-	public TextSegment(String text, String fontId) {
-		this(text, fontId, null, true);
-	}
-
-	public TextSegment(String text, String fontId, String colorId) {
-		this(text, fontId, colorId, true);
-	}
-	
-	public TextSegment(String text, String fontId, String colorId, boolean wrapAllowed) {
-		this.text = cleanup(text);
-		this.fontId = fontId;
-		this.colorId = colorId;
-		this.wrapAllowed = wrapAllowed;
-	}	
-
-	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);
-		textFragments = null;
-	}
-
-	void setColorId(String colorId) {
-		this.colorId = colorId;
-	}
-
-	void setFontId(String fontId) {
-		this.fontId = fontId;
-		textFragments = null;
-	}
-
-	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;
-			if (i<areaRectangles.size()-1) {
-				// test the gap
-				Rectangle top = ar.rect;
-				Rectangle bot = ((AreaRectangle)areaRectangles.get(i+1)).rect;
-				if (y >= top.y+top.height && y < bot.y) {
-					// in the gap
-					int left = Math.max(top.x, bot.x);
-					int right = Math.min(top.x+top.width, bot.x+bot.width);
-					if (x>=left && x<=right) {
-						return true;
-					}
-				}
-			}
-		}
-		return false;
-	}
-
-	public boolean intersects(Rectangle rect) {
-		for (int i = 0; i < areaRectangles.size(); i++) {
-			AreaRectangle ar = (AreaRectangle) areaRectangles.get(i);
-			if (ar.intersects(rect))
-				return true;
-			if (i<areaRectangles.size()-1) {
-				// test the gap
-				Rectangle top = ar.rect;
-				Rectangle bot = ((AreaRectangle)areaRectangles.get(i+1)).rect;
-				if (top.y+top.height < bot.y) {
-					int y = top.y+top.height;
-					int height = bot.y-y;
-					int left = Math.max(top.x, bot.x);
-					int right = Math.min(top.x+top.width, bot.x+bot.width);
-					Rectangle gap = new Rectangle(left, y, right-left, height);
-					if (gap.intersects(rect))
-						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);
-			int totalExtent = locator.x+extent.x;
-			if (isSelectable())
-				totalExtent+=1;
-
-			if (wHint != SWT.DEFAULT && totalExtent > wHint) {
-				// new line
-				locator.x = locator.indent;
-				locator.y += locator.rowHeight;
-				if (computeHeightOnly)
-					locator.collectHeights();
-				locator.rowHeight = 0;
-				locator.leading = 0;
-				newLine = true;
-			}
-			int width = extent.x;
-			if (isSelectable())
-				width += 1;
-			locator.x += width;
-			locator.width = locator.indent + width;
-			locator.rowHeight = Math.max(locator.rowHeight, extent.y);
-			locator.leading = Math.max(locator.leading, fm.getLeading());
-			return newLine;
-		}
-
-		computeTextFragments(gc);
-
-		int width = 0;
-		Point lineExtent = new Point(0, 0);
-
-		for (int i = 0; i < textFragments.length; i++) {
-			TextFragment textFragment = textFragments[i];
-			int currentExtent = locator.x + lineExtent.x;
-			
-			if (isSelectable())
-				currentExtent += 1;
-			
-			if (currentExtent + textFragment.length > wHint) {
-				// overflow
-				int lineWidth = currentExtent;
-				locator.rowHeight = Math.max(locator.rowHeight, lineExtent.y);
-				locator.leading = Math.max(locator.leading, fm.getLeading());
-				if (computeHeightOnly)
-					locator.collectHeights();
-				locator.x = locator.indent;
-				locator.y += locator.rowHeight;
-				locator.rowHeight = 0;
-				locator.leading = 0;
-				lineExtent.x = 0;
-				lineExtent.y = 0;
-				width = Math.max(width, lineWidth);
-				newLine = true;
-			}
-			lineExtent.x += textFragment.length;
-			lineExtent.y = Math.max(lineHeight, lineExtent.y);
-		}
-		int lineWidth = lineExtent.x;
-		if (isSelectable())
-			lineWidth += 1;
-		locator.x += lineWidth;
-		locator.width = width;
-		locator.rowHeight = Math.max(locator.rowHeight, lineExtent.y);
-		locator.leading = Math.max(locator.leading, fm.getLeading());
-		if (oldFont != null) {
-			gc.setFont(oldFont);
-		}
-		return newLine;
-	}
-
-	/**
-	 * @param gc
-	 * @param width
-	 * @param locator
-	 * @param selected
-	 * @param selData
-	 * @param color
-	 * @param fm
-	 * @param lineHeight
-	 * @param descent
-	 */
-	private void layoutWithoutWrapping(GC gc, int width, Locator locator,
-			boolean selected, FontMetrics fm, int lineHeight, int descent) {
-		Point extent = gc.textExtent(text);
-		int ewidth = extent.x;
-		if (isSelectable())
-			ewidth += 1;
-		if (locator.x + ewidth > width-locator.marginWidth) {
-			// new line
-			locator.resetCaret();
-			locator.y += locator.rowHeight;
-			locator.rowHeight = 0;
-			locator.rowCounter++;
-		}
-		int ly = locator.getBaseline(fm.getHeight() - fm.getLeading());
-		//int lineY = ly + lineHeight - descent + 1;
-		Rectangle br = new Rectangle(locator.x, ly, ewidth,
-				lineHeight - descent + 3);
-		areaRectangles.add(new AreaRectangle(br, 0, -1));
-		locator.x += ewidth;
-		locator.width = ewidth;
-		locator.rowHeight = Math.max(locator.rowHeight, extent.y);
-	}
-
-	protected int convertOffsetToStringIndex(GC gc, String s, int x,
-			int swidth, int selOffset) {
-		int index = s.length();
-		while (index > 0 && x + swidth > selOffset) {
-			index--;
-			String ss = s.substring(0, index);
-			swidth = gc.textExtent(ss).x;
-		}
-		return index;
-	}
-
-	public void paintFocus(GC gc, Color bg, Color fg, boolean selected,
-			Rectangle repaintRegion) {
-		if (areaRectangles == null)
-			return;
-		for (int i = 0; i < areaRectangles.size(); i++) {
-			AreaRectangle areaRectangle = (AreaRectangle) areaRectangles.get(i);
-			Rectangle br = areaRectangle.rect;
-			int bx = br.x;
-			int by = br.y;
-			if (repaintRegion != null) {
-				bx -= repaintRegion.x;
-				by -= repaintRegion.y;
-			}
-			if (selected) {
-				gc.setBackground(bg);
-				gc.setForeground(fg);
-				gc.drawFocus(bx, by, br.width, br.height);
-			} else {
-				gc.setForeground(bg);
-				gc.drawRectangle(bx, by, br.width - 1, br.height - 1);
-			}
-		}
-	}
-
-	public void paint(GC gc, boolean hover, Hashtable resourceTable,
-			boolean selected, SelectionData selData, Rectangle repaintRegion) {
-		this.paint(gc, hover, resourceTable, selected, false, selData,
-				repaintRegion);
-	}
-
-	protected void paint(GC gc, boolean hover, Hashtable resourceTable,
-			boolean selected, boolean rollover, SelectionData selData,
-			Rectangle repaintRegion) {
-		Font oldFont = null;
-		Color oldColor = null;
-		Color oldBg = null;
-
-		// apply segment-specific font, color and background
-		if (fontId != null) {
-			oldFont = gc.getFont();
-			Font newFont = (Font) resourceTable.get(fontId);
-			if (newFont != null)
-				gc.setFont(newFont);
-		}
-		if (!hover && colorId != null) {
-			oldColor = gc.getForeground();
-			Color newColor = (Color) resourceTable.get(colorId);
-			if (newColor != null)
-				gc.setForeground(newColor);
-		}
-		oldBg = gc.getBackground();
-
-		FontMetrics fm = gc.getFontMetrics();
-		int lineHeight = fm.getHeight();
-		int descent = fm.getDescent();
-
-		// paint area rectangles of the segment
-		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 + (isSelectable()?1:0);
-			int lineY = rect.y + lineHeight - descent + 1;
-			paintString(gc, text, extent.x, textX, rect.y, lineY, selData,
-					rect, hover, rollover, repaintRegion);
-			if (selected) {
-				int fx = rect.x;
-				int fy = rect.y;
-				if (repaintRegion != null) {
-					fx -= repaintRegion.x;
-					fy -= repaintRegion.y;
-				}
-				//To avoid partially cancelling the focus by painting over
-				//X-ORed pixels, first cancel it yourself
-				Color fg = gc.getForeground();
-				gc.setForeground(oldBg);
-				gc.drawRectangle(fx, fy, rect.width - 1, rect.height - 1);
-				gc.setForeground(fg);
-				gc.drawFocus(fx, fy, rect.width, rect.height);
-			}
-		}
-		// restore GC resources
-		if (oldFont != null) {
-			gc.setFont(oldFont);
-		}
-		if (oldColor != null) {
-			gc.setForeground(oldColor);
-		}
-		if (oldBg != null) {
-			gc.setBackground(oldBg);
-		}
-	}
-
-	public void computeSelection(GC gc, Hashtable resourceTable, SelectionData selData) {
-		Font oldFont = null;
-
-		if (fontId != null) {
-			oldFont = gc.getFont();
-			Font newFont = (Font) resourceTable.get(fontId);
-			if (newFont != null)
-				gc.setFont(newFont);
-		}
-
-		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);
-			computeSelection(gc, text, extent.x, selData,
-					rect);
-		}
-		// restore GC resources
-		if (oldFont != null) {
-			gc.setFont(oldFont);
-		}
-	}
-
-	private void paintString(GC gc, String s, int swidth, int x, int y,
-			int lineY, SelectionData selData, Rectangle bounds, boolean hover,
-			boolean rolloverMode, Rectangle repaintRegion) {
-		// repaints one area rectangle
-		if (selData != null && selData.isEnclosed()) {
-			Color savedBg = gc.getBackground();
-			Color savedFg = gc.getForeground();
-			int leftOffset = selData.getLeftOffset(bounds.height);
-			int rightOffset = selData.getRightOffset(bounds.height);
-			boolean firstRow = selData.isFirstSelectionRow(bounds.y,
-					bounds.height);
-			boolean lastRow = selData.isLastSelectionRow(bounds.y,
-					bounds.height);
-			boolean selectedRow = selData
-					.isSelectedRow(bounds.y, bounds.height);
-
-			int sstart = -1;
-			int sstop = -1;
-
-			if ((firstRow && x + swidth < leftOffset)
-					|| (lastRow && x > rightOffset)) {
-				paintStringSegment(gc, s, gc.textExtent(s).x, x, y, lineY,
-						hover, rolloverMode, repaintRegion);
-				return;
-			}
-
-			if (firstRow && bounds.x + swidth > leftOffset) {
-				sstart = convertOffsetToStringIndex(gc, s, bounds.x, swidth,
-						leftOffset);
-			}
-			if (lastRow && bounds.x + swidth > rightOffset) {
-				sstop = convertOffsetToStringIndex(gc, s, bounds.x, swidth,
-						rightOffset);
-			}
-
-			if (firstRow && sstart != -1) {
-				String left = s.substring(0, sstart);
-				int width = gc.textExtent(left).x;
-				paintStringSegment(gc, left, width, x, y, lineY, hover,
-						rolloverMode, repaintRegion);
-				x += width;
-			}
-			if (selectedRow) {
-				int lindex = sstart != -1 ? sstart : 0;
-				int rindex = sstop != -1 ? sstop : s.length();
-				String mid = s.substring(lindex, rindex);
-				Point extent = gc.textExtent(mid);
-				gc.setForeground(selData.fg);
-				gc.setBackground(selData.bg);
-				gc.fillRectangle(x, y, extent.x, extent.y);
-				paintStringSegment(gc, mid, extent.x, x, y, lineY, hover,
-						rolloverMode, repaintRegion);
-				x += extent.x;
-				gc.setForeground(savedFg);
-				gc.setBackground(savedBg);
-			} else {
-				paintStringSegment(gc, s, gc.textExtent(s).x, x, y, lineY,
-						hover, rolloverMode, repaintRegion);
-			}
-			if (lastRow && sstop != -1) {
-				String right = s.substring(sstop);
-				paintStringSegment(gc, right, gc.textExtent(right).x, x, y,
-						lineY, hover, rolloverMode, repaintRegion);
-			}
-		} else {
-			paintStringSegment(gc, s, gc.textExtent(s).x, x, y, lineY, hover,
-					rolloverMode, repaintRegion);
-		}
-	}
-
-	private void computeSelection(GC gc, String s, int swidth, SelectionData selData, Rectangle bounds) {
-		int leftOffset = selData.getLeftOffset(bounds.height);
-		int rightOffset = selData.getRightOffset(bounds.height);
-		boolean firstRow = selData.isFirstSelectionRow(bounds.y, bounds.height);
-		boolean lastRow = selData.isLastSelectionRow(bounds.y, bounds.height);
-		boolean selectedRow = selData.isSelectedRow(bounds.y, bounds.height);
-
-		int sstart = -1;
-		int sstop = -1;
-
-		if (firstRow && bounds.x + swidth > leftOffset) {
-			sstart = convertOffsetToStringIndex(gc, s, bounds.x, swidth,
-					leftOffset);
-		}
-		if (lastRow && bounds.x + swidth > rightOffset) {
-			sstop = convertOffsetToStringIndex(gc, s, bounds.x, swidth,
-					rightOffset);
-		}
-
-		if (selectedRow) {
-			int lindex = sstart != -1 ? sstart : 0;
-			int rindex = sstop != -1 ? sstop : s.length();
-			String mid = s.substring(lindex, rindex);
-			selData.addSegment(mid);
-		}
-	}
-
-	/**
-	 * @param gc
-	 * @param s
-	 * @param x
-	 * @param y
-	 * @param lineY
-	 * @param hover
-	 * @param rolloverMode
-	 */
-	private void paintStringSegment(GC gc, String s, int swidth, int x, int y,
-			int lineY, boolean hover, boolean rolloverMode,
-			Rectangle repaintRegion) {
-		boolean reverse = false;
-		int clipX = x;
-		int clipY = y;
-		int clipLineY = lineY;
-		if (repaintRegion != null) {
-			clipX -= repaintRegion.x;
-			clipY -= repaintRegion.y;
-			clipLineY -= repaintRegion.y;
-		}
-		if (underline || hover || rolloverMode) {
-			if (rolloverMode && !hover)
-				reverse = true;
-		}
-		if (reverse) {
-			drawUnderline(gc, swidth, clipX, clipLineY, hover, rolloverMode);
-			gc.drawString(s, clipX, clipY, false);
-		} else {
-			gc.drawString(s, clipX, clipY, false);
-			drawUnderline(gc, swidth, clipX, clipLineY, hover, rolloverMode);
-		}
-	}
-
-	private void drawUnderline(GC gc, int swidth, int x, int y, boolean hover,
-			boolean rolloverMode) {
-		if (underline || hover || rolloverMode) {
-			Color saved = null;
-			if (rolloverMode && !hover) {
-				saved = gc.getForeground();
-				gc.setForeground(gc.getBackground());
-			}
-			gc.drawLine(x, y, x + swidth-1, y);
-			if (saved != null)
-				gc.setForeground(saved);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.forms.widgets.ParagraphSegment#layout(org.eclipse.swt.graphics.GC,
-	 *      int, org.eclipse.ui.internal.forms.widgets.Locator,
-	 *      java.util.Hashtable, boolean,
-	 *      org.eclipse.ui.internal.forms.widgets.SelectionData)
-	 */
-	public void layout(GC gc, int width, Locator locator,
-			Hashtable resourceTable, boolean selected) {
-		Font oldFont = null;
-
-		areaRectangles.clear();
-
-		if (fontId != null) {
-			oldFont = gc.getFont();
-			Font newFont = (Font) resourceTable.get(fontId);
-			if (newFont != null)
-				gc.setFont(newFont);
-		}
-		FontMetrics fm = gc.getFontMetrics();
-		int lineHeight = fm.getHeight();
-		int descent = fm.getDescent();
-
-		if (!wrapAllowed) {
-			layoutWithoutWrapping(gc, width, locator, selected, fm, lineHeight,
-					descent);
-		} else {
-			int lineStart = 0;
-			int lastLoc = 0;
-			Point lineExtent = new Point(0, 0);
-			computeTextFragments(gc);
-			int rightEdge = width-locator.marginWidth;
-			for (int i = 0; i < textFragments.length; i++) {
-				TextFragment fragment = textFragments[i];
-				int breakLoc = fragment.index;
-				if (breakLoc == 0)
-					continue;
-				if (locator.x + lineExtent.x + fragment.length > rightEdge) {
-					// overflow
-					int lineWidth = locator.x + lineExtent.x;
-					if (isSelectable())
-						lineWidth += 1;
-					int ly = locator.getBaseline(lineHeight - fm.getLeading());
-					Rectangle br = new Rectangle(isSelectable()?
-							locator.x - 1:locator.x, ly,
-							isSelectable()?lineExtent.x + 1:lineExtent.x, lineHeight - descent + 3);
-					areaRectangles
-							.add(new AreaRectangle(br, lineStart, lastLoc));
-
-					locator.rowHeight = Math.max(locator.rowHeight,
-							lineExtent.y);
-					locator.resetCaret();
-					if (isSelectable())
-						locator.x += 1;					
-					locator.y += locator.rowHeight;
-					locator.rowCounter++;
-					locator.rowHeight = 0;
-					lineStart = lastLoc;
-					lineExtent.x = 0;
-					lineExtent.y = 0;
-				}
-				lastLoc = breakLoc;
-				lineExtent.x += fragment.length;
-				lineExtent.y = Math.max(lineHeight, lineExtent.y);
-			}
-			//String lastLine = text.substring(lineStart, lastLoc);
-			int ly = locator.getBaseline(lineHeight - fm.getLeading());
-			int lastWidth = lineExtent.x;
-			if (isSelectable())
-				lastWidth += 1;
-			Rectangle br = new Rectangle(isSelectable()?locator.x - 1:locator.x, ly, 
-					isSelectable()?lineExtent.x + 1:lineExtent.x,
-					lineHeight - descent + 3);
-			//int lineY = ly + lineHeight - descent + 1;
-			areaRectangles.add(new AreaRectangle(br, lineStart, lastLoc));
-			locator.x += lastWidth;
-			locator.rowHeight = Math.max(locator.rowHeight, lineExtent.y);
-		}
-		if (oldFont != null) {
-			gc.setFont(oldFont);
-		}
-	}
-
-	private void computeTextFragments(GC gc) {
-		if (textFragments != null)
-			return;
-		ArrayList list = new ArrayList();
-		BreakIterator wb = BreakIterator.getLineInstance();
-		wb.setText(getText());
-		int cursor = 0;
-		for (int loc = wb.first(); loc != BreakIterator.DONE; loc = wb.next()) {
-			if (loc == 0)
-				continue;
-			String word = text.substring(cursor, loc);
-			Point extent = gc.textExtent(word);
-			list.add(new TextFragment((short) loc, (short) extent.x));
-			cursor = loc;
-		}
-		textFragments = (TextFragment[]) list.toArray(new TextFragment[list
-				.size()]);
-	}
-	
-	public void clearCache(String fontId) {
-		if (fontId==null && (this.fontId==null||this.fontId.equals(FormTextModel.BOLD_FONT_ID)))
-			textFragments = null;
-		else if (fontId!=null && this.fontId!=null && fontId.equals(this.fontId))
-			textFragments = null;
-	}
-}
diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TitleRegion.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TitleRegion.java
deleted file mode 100644
index 9cb54c9..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TitleRegion.java
+++ /dev/null
@@ -1,528 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.forms.widgets;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DragSource;
-import org.eclipse.swt.dnd.DragSourceEffect;
-import org.eclipse.swt.dnd.DragSourceEvent;
-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.MouseEvent;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontMetrics;
-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.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.forms.IFormColors;
-import org.eclipse.ui.forms.widgets.ILayoutExtension;
-import org.eclipse.ui.forms.widgets.SizeCache;
-import org.eclipse.ui.forms.widgets.Twistie;
-import org.eclipse.ui.internal.forms.IMessageToolTipManager;
-
-/**
- * Form heading title.
- */
-public class TitleRegion extends Canvas {
-	public static final int STATE_NORMAL = 0;
-	public static final int STATE_HOVER_LIGHT = 1;
-	public static final int STATE_HOVER_FULL = 2;
-	private int hoverState;
-	private static final int HMARGIN = 1;
-	private static final int VMARGIN = 5;
-	private static final int SPACING = 5;
-	private static final int ARC_WIDTH = 20;
-	private static final int ARC_HEIGHT = 20;
-	private Image image;
-	private BusyIndicator busyLabel;
-	private Label titleLabel;
-	private SizeCache titleCache;
-	private int fontHeight = -1;
-	private int fontBaselineHeight = -1;
-	private MenuHyperlink menuHyperlink;
-	private MenuManager menuManager;
-	private boolean dragSupport;
-	private int dragOperations;
-	private Transfer[] dragTransferTypes;
-	private DragSourceListener dragListener;
-	private DragSource dragSource;
-	private Image dragImage;
-
-	private class HoverListener implements MouseTrackListener,
-			MouseMoveListener {
-
-		public void mouseEnter(MouseEvent e) {
-			setHoverState(STATE_HOVER_FULL);
-		}
-
-		public void mouseExit(MouseEvent e) {
-			setHoverState(STATE_NORMAL);
-		}
-
-		public void mouseHover(MouseEvent e) {
-		}
-
-		public void mouseMove(MouseEvent e) {
-			if (e.button > 0)
-				setHoverState(STATE_NORMAL);
-			else
-				setHoverState(STATE_HOVER_FULL);
-		}
-	}
-
-	private class MenuHyperlink extends Twistie {
-		private boolean firstTime = true;
-
-		public MenuHyperlink(Composite parent, int style) {
-			super(parent, style);
-			setExpanded(true);
-		}
-
-		public void setExpanded(boolean expanded) {
-			if (firstTime) {
-				super.setExpanded(expanded);
-				firstTime = false;
-			} else {
-				Menu menu = menuManager.createContextMenu(menuHyperlink);
-				menu.setVisible(true);
-			}
-		}
-	}
-
-	private class TitleRegionLayout extends Layout implements ILayoutExtension {
-
-		protected Point computeSize(Composite composite, int wHint, int hHint,
-				boolean flushCache) {
-			return layout(composite, false, 0, 0, wHint, hHint, flushCache);
-		}
-
-		protected void layout(Composite composite, boolean flushCache) {
-			Rectangle carea = composite.getClientArea();
-			layout(composite, true, carea.x, carea.y, carea.width,
-					carea.height, flushCache);
-		}
-
-		private Point layout(Composite composite, boolean move, int x, int y,
-				int width, int height, boolean flushCache) {
-			int iwidth = width == SWT.DEFAULT ? SWT.DEFAULT : width - HMARGIN
-					* 2;
-			Point bsize = null;
-			Point tsize = null;
-			Point msize = null;
-
-			if (busyLabel != null) {
-				bsize = busyLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			}
-			if (menuManager != null) {
-				menuHyperlink.setVisible(!menuManager.isEmpty()
-						&& titleLabel.getVisible());
-				if (menuHyperlink.getVisible())
-					msize = menuHyperlink.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			}
-			if (flushCache)
-				titleCache.flush();
-			titleCache.setControl(titleLabel);
-			int twidth = iwidth == SWT.DEFAULT ? iwidth : iwidth - SPACING * 2;
-			if (bsize != null && twidth != SWT.DEFAULT)
-				twidth -= bsize.x + SPACING;
-			if (msize != null && twidth != SWT.DEFAULT)
-				twidth -= msize.x + SPACING;
-			if (titleLabel.getVisible()) {
-				tsize = titleCache.computeSize(twidth, SWT.DEFAULT);
-				if (twidth != SWT.DEFAULT) {
-					// correct for the case when width hint is larger
-					// than the maximum width - this is when the text
-					// can be rendered on one line with width to spare
-					int maxWidth = titleCache.computeSize(SWT.DEFAULT,
-							SWT.DEFAULT).x;
-					tsize.x = Math.min(tsize.x, maxWidth);
-					// System.out.println("twidth="+twidth+",
-					// tsize.x="+tsize.x); //$NON-NLS-1$//$NON-NLS-2$
-				}
-			} else
-				tsize = new Point(0, 0);
-			Point size = new Point(width, height);
-			if (!move) {
-				// compute size
-				size.x = tsize.x > 0 ? HMARGIN * 2 + SPACING * 2 + tsize.x : 0;
-				size.y = tsize.y;
-				if (bsize != null) {
-					size.x += bsize.x + SPACING;
-					size.y = Math.max(size.y, bsize.y);
-				}
-				if (msize != null) {
-					size.x += msize.x + SPACING;
-					size.y = Math.max(size.y, msize.y);
-				}
-				if (size.y > 0)
-					size.y += VMARGIN * 2;
-				// System.out.println("Compute size: width="+width+",
-				// size.x="+size.x); //$NON-NLS-1$ //$NON-NLS-2$
-			} else {
-				// position controls
-				int xloc = x + HMARGIN + SPACING;
-				int yloc = y + VMARGIN;
-				if (bsize != null) {
-					busyLabel.setBounds(xloc,
-							// yloc + height / 2 - bsize.y / 2,
-							yloc + getFontHeight() - 1 - bsize.y,
-							bsize.x, bsize.y);
-					xloc += bsize.x + SPACING;
-				}
-				if (titleLabel.getVisible()) {
-					int tw = width - HMARGIN * 2 - SPACING * 2;
-					if (bsize != null)
-						tw -= bsize.x + SPACING;
-					if (msize != null)
-						tw -= msize.x + SPACING;
-					titleLabel.setBounds(xloc,
-					// yloc + height / 2 - tsize.y / 2,
-							yloc, tw, tsize.y);
-					// System.out.println("tw="+tw); //$NON-NLS-1$
-					xloc += tw + SPACING;
-				}
-				if (msize != null) {
-					menuHyperlink.setBounds(xloc, yloc
-							+ getFontHeight() / 2 - msize.y / 2,
-							msize.x, msize.y);
-				}
-			}
-			return size;
-		}
-
-		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, 0, SWT.DEFAULT, changed).x;
-		}
-	}
-
-	public TitleRegion(Composite parent) {
-		super(parent, SWT.NULL);
-		titleLabel = new Label(this, SWT.WRAP);
-		titleLabel.setVisible(false);
-		titleCache = new SizeCache();
-		super.setLayout(new TitleRegionLayout());
-		hookHoverListeners();
-		addListener(SWT.Dispose, new Listener() {
-			public void handleEvent(Event e) {
-				if (dragImage != null) {
-					dragImage.dispose();
-					dragImage = null;
-				}
-			}
-		});
-	}
-
-	private Color getColor(String key) {
-		return (Color) ((FormHeading) getParent()).colors.get(key);
-	}
-
-	private void hookHoverListeners() {
-		HoverListener listener = new HoverListener();
-		addMouseTrackListener(listener);
-		addMouseMoveListener(listener);
-		titleLabel.addMouseTrackListener(listener);
-		titleLabel.addMouseMoveListener(listener);
-		addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				onPaint(e);
-			}
-		});
-	}
-
-	private void onPaint(PaintEvent e) {
-		if (hoverState == STATE_NORMAL)
-			return;
-		GC gc = e.gc;
-		Rectangle carea = getClientArea();
-		gc.setBackground(getHoverBackground());
-		int savedAntialias = gc.getAntialias();
-		FormUtil.setAntialias(gc, SWT.ON);
-		gc.fillRoundRectangle(carea.x + HMARGIN, carea.y + 2, carea.width
-				- HMARGIN * 2, carea.height - 4, ARC_WIDTH, ARC_HEIGHT);
-		FormUtil.setAntialias(gc, savedAntialias);
-	}
-
-	private Color getHoverBackground() {
-		if (hoverState == STATE_NORMAL)
-			return null;
-		Color color = getColor(hoverState == STATE_HOVER_FULL ? IFormColors.H_HOVER_FULL
-				: IFormColors.H_HOVER_LIGHT);
-		if (color == null)
-			color = getDisplay()
-					.getSystemColor(
-							hoverState == STATE_HOVER_FULL ? SWT.COLOR_WIDGET_BACKGROUND
-									: SWT.COLOR_WIDGET_LIGHT_SHADOW);
-		return color;
-	}
-
-	public void setHoverState(int state) {
-		if (dragSource == null || this.hoverState == state)
-			return;
-		this.hoverState = state;
-		Color color = getHoverBackground();
-		titleLabel.setBackground(color != null ? color
-				: getColor(FormHeading.COLOR_BASE_BG));
-		if (busyLabel != null)
-			busyLabel.setBackground(color != null ? color
-					: getColor(FormHeading.COLOR_BASE_BG));
-		if (menuHyperlink != null)
-			menuHyperlink.setBackground(color != null ? color
-					: getColor(FormHeading.COLOR_BASE_BG));
-		redraw();
-	}
-
-	/**
-	 * Fully delegates the size computation to the internal layout manager.
-	 */
-	public final Point computeSize(int wHint, int hHint, boolean changed) {
-		return ((TitleRegionLayout) getLayout()).computeSize(this, wHint,
-				hHint, changed);
-	}
-
-	public final void setLayout(Layout layout) {
-		// do nothing
-	}
-
-	public Image getImage() {
-		return image;
-	}
-
-	public void setImage(Image image) {
-		this.image = image;
-	}
-
-	public void updateImage(Image newImage, boolean doLayout) {
-		Image theImage = newImage != null ? newImage : this.image;
-
-		if (theImage != null) {
-			ensureBusyLabelExists();
-		} else if (busyLabel != null) {
-			if (!busyLabel.isBusy()) {
-				busyLabel.dispose();
-				busyLabel = null;
-			}
-		}
-		if (busyLabel != null) {
-			busyLabel.setImage(theImage);
-		}
-		if (doLayout)
-			layout();
-	}
-
-	public void updateToolTip(String toolTip) {
-		if (busyLabel != null)
-			busyLabel.setToolTipText(toolTip);
-	}
-
-	public void setBackground(Color bg) {
-		super.setBackground(bg);
-		titleLabel.setBackground(bg);
-		if (busyLabel != null)
-			busyLabel.setBackground(bg);
-		if (menuHyperlink != null)
-			menuHyperlink.setBackground(bg);
-	}
-
-	public void setForeground(Color fg) {
-		super.setForeground(fg);
-		titleLabel.setForeground(fg);
-		if (menuHyperlink != null)
-			menuHyperlink.setForeground(fg);
-	}
-
-	public void setText(String text) {
-		if (text != null)
-			titleLabel.setText(text);
-		titleLabel.setVisible(text != null);
-		layout();
-		redraw();
-	}
-
-	public String getText() {
-		return titleLabel.getText();
-	}
-
-	public void setFont(Font font) {
-		super.setFont(font);
-		titleLabel.setFont(font);
-		fontHeight = -1;
-		fontBaselineHeight = -1;
-		layout();
-	}
-
-	private void ensureBusyLabelExists() {
-		if (busyLabel == null) {
-			busyLabel = new BusyIndicator(this, SWT.NULL);
-			busyLabel.setBackground(getColor(FormHeading.COLOR_BASE_BG));
-			HoverListener listener = new HoverListener();
-			busyLabel.addMouseTrackListener(listener);
-			busyLabel.addMouseMoveListener(listener);
-			if (menuManager != null)
-				busyLabel.setMenu(menuManager.createContextMenu(this));
-			if (dragSupport)
-				addDragSupport(busyLabel, dragOperations, dragTransferTypes, dragListener);
-			IMessageToolTipManager mng = ((FormHeading) getParent())
-					.getMessageToolTipManager();
-			if (mng != null)
-				mng.createToolTip(busyLabel, true);
-		}
-	}
-
-	private void createMenuHyperlink() {
-		menuHyperlink = new MenuHyperlink(this, SWT.NULL);
-		menuHyperlink.setBackground(getColor(FormHeading.COLOR_BASE_BG));
-		menuHyperlink.setDecorationColor(getForeground());
-		menuHyperlink.setHoverDecorationColor(getDisplay().getSystemColor(SWT.COLOR_LIST_FOREGROUND));
-		HoverListener listener = new HoverListener();
-		menuHyperlink.addMouseTrackListener(listener);
-		menuHyperlink.addMouseMoveListener(listener);
-		if (dragSupport)
-			addDragSupport(menuHyperlink, dragOperations, dragTransferTypes, dragListener);
-	}
-
-	/**
-	 * Sets the form's busy state. Busy form will display 'busy' animation in
-	 * the area of the title image.
-	 * 
-	 * @param busy
-	 *            the form's busy state
-	 */
-
-	public boolean setBusy(boolean busy) {
-		if (busy)
-			ensureBusyLabelExists();
-		else if (busyLabel == null)
-			return false;
-		if (busy == busyLabel.isBusy())
-			return false;
-		busyLabel.setBusy(busy);
-		if (busyLabel.getImage() == null) {
-			layout();
-			return true;
-		}
-		return false;
-	}
-
-	public boolean isBusy() {
-		return busyLabel != null && busyLabel.isBusy();
-	}
-
-	/*
-	 * Returns the complete height of the font.
-	 */
-	public int getFontHeight() {
-		if (fontHeight == -1) {
-			Font font = getFont();
-			GC gc = new GC(getDisplay());
-			gc.setFont(font);
-			FontMetrics fm = gc.getFontMetrics();
-			fontHeight = fm.getHeight();
-			gc.dispose();
-		}
-		return fontHeight;
-	}
-
-	/*
-	 * Returns the height of the font starting at the baseline,
-	 * i.e. without the descent.
-	 */
-	public int getFontBaselineHeight() {
-		if (fontBaselineHeight == -1) {
-			Font font = getFont();
-			GC gc = new GC(getDisplay());
-			gc.setFont(font);
-			FontMetrics fm = gc.getFontMetrics();
-			fontBaselineHeight = fm.getHeight() - fm.getDescent();
-			gc.dispose();
-		}
-		return fontBaselineHeight;
-	}
-
-	public IMenuManager getMenuManager() {
-		if (menuManager == null) {
-			menuManager = new MenuManager();
-			Menu menu = menuManager.createContextMenu(this);
-			setMenu(menu);
-			titleLabel.setMenu(menu);
-			if (busyLabel != null)
-				busyLabel.setMenu(menu);
-			createMenuHyperlink();
-		}
-		return menuManager;
-	}
-
-	public void addDragSupport(int operations, Transfer[] transferTypes,
-			DragSourceListener listener) {
-		dragSupport = true;
-		dragOperations = operations;
-		dragTransferTypes = transferTypes;
-		dragListener = listener;
-		dragSource = addDragSupport(titleLabel, operations, transferTypes,
-				listener);
-		addDragSupport(this, operations, transferTypes, listener);
-		if (busyLabel != null)
-			addDragSupport(busyLabel, operations, transferTypes, listener);
-		if (menuHyperlink != null)
-			addDragSupport(menuHyperlink, operations, transferTypes, listener);
-	}
-
-	private DragSource addDragSupport(Control control, int operations,
-			Transfer[] transferTypes, DragSourceListener listener) {
-		DragSource source = new DragSource(control, operations);
-		source.setTransfer(transferTypes);
-		source.addDragListener(listener);
-		source.setDragSourceEffect(new DragSourceEffect(control) {
-			public void dragStart(DragSourceEvent event) {
-				event.image = createDragEffectImage();
-			}
-		});
-		return source;
-	}
-
-	private Image createDragEffectImage() {
-		/*
-		 * if (dragImage != null) { dragImage.dispose(); } GC gc = new GC(this);
-		 * Point size = getSize(); dragImage = new Image(getDisplay(), size.x,
-		 * size.y); gc.copyArea(dragImage, 0, 0); gc.dispose(); return
-		 * dragImage;
-		 */
-		return null;
-	}
-
-	public void addDropSupport(int operations, Transfer[] transferTypes,
-			DropTargetListener listener) {
-		final DropTarget target = new DropTarget(this, operations);
-		target.setTransfer(transferTypes);
-		target.addDropListener(listener);
-	}
-}
\ No newline at end of file
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 964a4f3..0000000
--- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/WrappedPageBook.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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>
- */
-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);
-	}
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/.classpath b/bundles/org.eclipse.ui.presentations.r21/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.ui.presentations.r21/.cvsignore b/bundles/org.eclipse.ui.presentations.r21/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/.project b/bundles/org.eclipse.ui.presentations.r21/.project
deleted file mode 100644
index bd7bc22..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.presentations.r21</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.ui</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f76a4fb..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:19:24 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index edc2d12..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:19:24 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.3\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 77b65f8..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Nov 16 14:11:51 EST 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=0
-compilers.p.illegal-att-value=0
-compilers.use-project=true
diff --git a/bundles/org.eclipse.ui.presentations.r21/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.presentations.r21/META-INF/MANIFEST.MF
deleted file mode 100644
index 0db1acc..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.ui.presentations.r21; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-ClassPath: .
-Bundle-Activator: org.eclipse.ui.internal.presentations.r21.R21PresentationPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.internal.presentations;x-internal:=true,
- org.eclipse.ui.internal.presentations.r21;x-internal:=true,
- org.eclipse.ui.internal.presentations.r21.widgets;x-internal:=true
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui;bundle-version="[3.2.0,4.0.0)"
-Eclipse-LazyStart: true
-Import-Package: com.ibm.icu.text
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/bundles/org.eclipse.ui.presentations.r21/README.TXT b/bundles/org.eclipse.ui.presentations.r21/README.TXT
deleted file mode 100644
index 33b17e3..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/README.TXT
+++ /dev/null
@@ -1,15 +0,0 @@
-The r21presentation plugin provides an R2.1 style look and feel for
-Eclipse.  This look and feel is accomplished entirely through the
-Presentations API, no changes are needed to the base eclipse release.
-
-Use:
-
-1. Ensure the plugin is installed (look in your eclipse/plugins
-   directory for org.eclipse.ui.presentations.r21_3.0.0).
-2. Add the contents of the r21presentation.ini file to your primary
-   plugin's "plugin_customization.ini" file.  In the basic Eclipse
-   IDE, this file is located in plugins/org.eclipse.platform_3.0.0.
-3. Resolve any conflicts in the plugin_customization.ini file to favour
-   the settings for this project.  E.g., DOCK_PERSPECTIVE_BAR is set
-   to "topRight" in the basic platform but should be "left" for the
-   R21 presentation.
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/about.html b/bundles/org.eclipse.ui.presentations.r21/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/build.properties b/bundles/org.eclipse.ui.presentations.r21/build.properties
deleted file mode 100644
index eccd880..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-bin.includes = plugin.properties,\
-               plugin.xml,\
-               .,\
-               r21presentation.ini,\
-               README.TXT,\
-               about.html,\
-               META-INF/
-src.includes = about.html
-source.. = src/
diff --git a/bundles/org.eclipse.ui.presentations.r21/component.xml b/bundles/org.eclipse.ui.presentations.r21/component.xml
deleted file mode 100644
index 23e684d..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/component.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<component xmlns="http://eclipse.org/component"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://eclipse.org/component ../component.xsd "
-   name="Platform UI R2.1 Presentation">
- <plugin id="org.eclipse.ui.presentations.r21" />
-
- <!-- No API packages -->
-
- <component-depends unrestricted="true"/>
-</component>
diff --git a/bundles/org.eclipse.ui.presentations.r21/plugin.properties b/bundles/org.eclipse.ui.presentations.r21/plugin.properties
deleted file mode 100644
index 516f332..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName= R21 Presentation Plug-in
-providerName= Eclipse.org
-
-Presentation.r21.name=Eclipse 2.1 Style Presentation
diff --git a/bundles/org.eclipse.ui.presentations.r21/plugin.xml b/bundles/org.eclipse.ui.presentations.r21/plugin.xml
deleted file mode 100644
index dd5bcd3..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <extension
-         point="org.eclipse.ui.presentationFactories">
-      <factory
-            name="%Presentation.r21.name"
-            class="org.eclipse.ui.internal.presentations.R21PresentationFactory"
-            id="org.eclipse.ui.internal.r21presentationFactory">
-      </factory>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.ui.presentations.r21/r21presentation.ini b/bundles/org.eclipse.ui.presentations.r21/r21presentation.ini
deleted file mode 100644
index be8c8e3..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/r21presentation.ini
+++ /dev/null
@@ -1,18 +0,0 @@
-# R21 presentation settings: copy these values to your product's
-# plugin_customization.ini file before starting eclipse
-#
-# Its possible that platform has its own setting for some of these
-# values.  Be sure to resolve conflicts to favour the values in this
-# file.
-
-# use the R2.1 style
-org.eclipse.ui/presentationFactoryId=org.eclipse.ui.internal.r21presentationFactory
-
-# put the view tabs on the bottom (1024 == SWT.BOTTOM)
-org.eclipse.ui.workbench/VIEW_TAB_POSITION=1024
-
-# put the perspective switcher on the left
-org.eclipse.ui/DOCK_PERSPECTIVE_BAR=left
-
-# put the fast view bar on the left
-org.eclipse.ui/initialFastViewBarLocation=left
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21BasicStackPresentation.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21BasicStackPresentation.java
deleted file mode 100644
index 9c61924..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21BasicStackPresentation.java
+++ /dev/null
@@ -1,1201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Gunnar Wagenknecht - some contributions (bug fixes and enhancements)
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.ShellAdapter;
-import org.eclipse.swt.events.ShellEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.internal.IWorkbenchGraphicConstants;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.dnd.DragUtil;
-import org.eclipse.ui.internal.presentations.r21.R21Colors;
-import org.eclipse.ui.internal.presentations.r21.R21PresentationMessages;
-import org.eclipse.ui.internal.presentations.r21.widgets.CTabItem;
-import org.eclipse.ui.internal.presentations.r21.widgets.R21PaneFolder;
-import org.eclipse.ui.internal.util.Util;
-import org.eclipse.ui.presentations.IPartMenu;
-import org.eclipse.ui.presentations.IPresentablePart;
-import org.eclipse.ui.presentations.IPresentationSerializer;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.PresentationUtil;
-import org.eclipse.ui.presentations.StackDropResult;
-import org.eclipse.ui.presentations.StackPresentation;
-
-/**
- * Base class for StackPresentations that display IPresentableParts in a
- * CTabFolder.
- * 
- * @since 3.0
- */
-public class R21BasicStackPresentation extends StackPresentation {
-
-	private R21PaneFolder paneFolder;
-
-	private IPresentablePart current;
-
-	private boolean activeState = false;
-
-	private MenuManager systemMenuManager = new MenuManager();
-
-	private CLabel titleLabel;
-
-	private boolean shellActive = true;
-
-	private final static String TAB_DATA = R21BasicStackPresentation.class
-			.getName()
-			+ ".partId"; //$NON-NLS-1$
-
-	// private PaneFolderButtonListener buttonListener = new
-	// PaneFolderButtonListener() {
-	// public void stateButtonPressed(int buttonId) {
-	// getSite().setState(buttonId);
-	// }
-	//
-	// public void closeButtonPressed(CTabItem item) {
-	// IPresentablePart part = getPartForTab(item);
-	//			
-	// getSite().close(part);
-	// }
-	// };
-	//	
-	private MouseListener mouseListener = new MouseAdapter() {
-		public void mouseDown(MouseEvent e) {
-			if (e.widget instanceof Control) {
-				Control ctrl = (Control) e.widget;
-				Point globalPos = ctrl.toDisplay(new Point(e.x, e.y));
-
-				// PR#1GDEZ25 - If selection will change in mouse up ignore
-				// mouse down.
-				// Else, set focus.
-				CTabItem newItem = paneFolder.getItem(paneFolder.getControl()
-						.toControl(globalPos));
-				if (newItem != null) {
-					CTabItem oldItem = paneFolder.getSelection();
-					if (newItem != oldItem) {
-						return;
-					}
-				}
-				if (current != null) {
-					current.setFocus();
-				}
-			}
-		}
-
-		public void mouseDoubleClick(MouseEvent e) {
-			if (getSite().getState() == IStackPresentationSite.STATE_MAXIMIZED) {
-				getSite().setState(IStackPresentationSite.STATE_RESTORED);
-			} else {
-				getSite().setState(IStackPresentationSite.STATE_MAXIMIZED);
-			}
-		}
-	};
-
-	private MouseListener titleMouseListener = new MouseAdapter() {
-		public void mouseDown(MouseEvent e) {
-			if (e.widget instanceof Control) {
-				Control ctrl = (Control) e.widget;
-				Point globalPos = ctrl.toDisplay(new Point(0, titleLabel
-						.getBounds().height));
-
-				if ((e.button == 1) && overImage(e.x)) {
-					showSystemMenu(globalPos);
-				}
-			}
-		}
-	};
-
-	private Listener menuListener = new Listener() {
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-		 */
-		public void handleEvent(Event event) {
-			Point pos = new Point(event.x, event.y);
-
-			showSystemMenu(pos);
-		}
-	};
-
-	private Listener dragListener = new Listener() {
-		public void handleEvent(Event event) {
-
-			Point localPos = new Point(event.x, event.y);
-			CTabItem tabUnderPointer = paneFolder.getItem(localPos);
-
-			// Drags on the title area drag the selected part only
-			if (tabUnderPointer == null) {
-				if (paneFolder.getTabPosition() == SWT.BOTTOM
-						&& localPos.y < paneFolder.getControl().getBounds().height
-								- paneFolder.getTabHeight()) {
-					tabUnderPointer = paneFolder.getSelection();
-				} else if (paneFolder.getTabPosition() == SWT.TOP
-						&& localPos.y > paneFolder.getTabHeight()) {
-					tabUnderPointer = paneFolder.getSelection();
-				}
-			}
-
-			// Not in a tab, not in a title area, must be dragging the whole
-			// stack
-			if (tabUnderPointer == null) {
-				getSite().dragStart(
-						paneFolder.getControl().toDisplay(localPos), false);
-				return;
-			}
-
-			IPresentablePart part = getPartForTab(tabUnderPointer);
-
-			if (getSite().isPartMoveable(part)) {
-				getSite().dragStart(part,
-						paneFolder.getControl().toDisplay(localPos), false);
-			}
-		}
-	};
-
-	private Listener selectionListener = new Listener() {
-		public void handleEvent(Event e) {
-			IPresentablePart item = getPartForTab((CTabItem) e.item);
-
-			if (item != null) {
-				getSite().selectPart(item);
-			}
-		}
-	};
-
-	private Listener resizeListener = new Listener() {
-		public void handleEvent(Event e) {
-			setControlSize();
-		}
-	};
-
-	private IPropertyListener childPropertyChangeListener = new IPropertyListener() {
-		public void propertyChanged(Object source, int property) {
-			if (source instanceof IPresentablePart) {
-				IPresentablePart part = (IPresentablePart) source;
-				childPropertyChanged(part, property);
-			}
-		}
-	};
-
-	private DisposeListener tabDisposeListener = new DisposeListener() {
-		public void widgetDisposed(DisposeEvent e) {
-			if (e.widget instanceof CTabItem) {
-				CTabItem item = (CTabItem) e.widget;
-
-				IPresentablePart part = getPartForTab(item);
-
-				part.removePropertyListener(childPropertyChangeListener);
-			}
-		}
-	};
-
-	/** the shell listener for upgrading the gradient */
-	private ShellAdapter shellListener = new ShellAdapter() {
-
-		public void shellActivated(ShellEvent event) {
-			shellActive = true;
-			updateGradient();
-		}
-
-		public void shellDeactivated(ShellEvent event) {
-			shellActive = false;
-			updateGradient();
-		}
-	};
-
-	private ToolBar viewToolBar;
-
-	private ToolItem pullDownButton;
-
-	private ToolItem closeButton;
-
-	public R21BasicStackPresentation(R21PaneFolder control,
-			IStackPresentationSite stackSite) {
-		super(stackSite);
-		paneFolder = control;
-
-		shellActive = paneFolder.getControl().getShell().equals(
-				control.getControl().getDisplay().getActiveShell());
-
-		// tabFolder.setMinimizeVisible(stackSite.supportsState(IStackPresentationSite.STATE_MINIMIZED));
-		// tabFolder.setMaximizeVisible(stackSite.supportsState(IStackPresentationSite.STATE_MAXIMIZED));
-		//				
-		titleLabel = new CLabel(paneFolder.getControl(), SWT.SHADOW_NONE);
-		titleLabel.setVisible(false);
-		titleLabel.moveAbove(null);
-		titleLabel.addMouseListener(titleMouseListener);
-		titleLabel.addMouseListener(mouseListener);
-		titleLabel.addListener(SWT.MenuDetect, menuListener);
-		PresentationUtil.addDragListener(titleLabel, dragListener);
-
-		// ColorSchemeService.setViewTitleFont(this, titleLabel);
-
-		viewToolBar = new ToolBar(control.getControl(), SWT.HORIZONTAL
-				| SWT.FLAT);
-		viewToolBar.moveAbove(null);
-
-		pullDownButton = new ToolItem(viewToolBar, SWT.PUSH);
-		// Image img =
-		// WorkbenchImages.getImage(IWorkbenchGraphicConstants.IMG_LCL_VIEW_MENU);
-		Image hoverImage = WorkbenchImages
-				.getImage(IWorkbenchGraphicConstants.IMG_LCL_VIEW_MENU);
-		pullDownButton.setDisabledImage(null); // TODO: comment this out?
-		// PR#1GE56QT - Avoid creation of unnecessary image.
-		pullDownButton.setImage(hoverImage);
-		pullDownButton.setToolTipText(R21PresentationMessages
-				.getString("BasicStackPresentation.menu.tooltip")); //$NON-NLS-1$
-		pullDownButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				showPaneMenu();
-			}
-		});
-
-		// listener to switch between visible tabItems
-		paneFolder.getControl().addListener(SWT.Selection, selectionListener);
-
-		// listener to resize visible components
-		paneFolder.getControl().addListener(SWT.Resize, resizeListener);
-
-		// listen for mouse down on tab to set focus.
-		paneFolder.getControl().addMouseListener(mouseListener);
-
-		paneFolder.getControl().addListener(SWT.MenuDetect, menuListener);
-
-		// tabFolder.addButtonListener(buttonListener);
-
-		PresentationUtil.addDragListener(paneFolder.getControl(), dragListener);
-
-		// add the shell listener to track shell activations
-		// TODO: check if workaround can be removed (see bug 55458)
-		paneFolder.getControl().getShell().addShellListener(shellListener);
-
-		// Uncomment to allow dragging from the title label
-		// PresentationUtil.addDragListener(titleLabel, new Listener() {
-		// public void handleEvent(Event event) {
-		// if (layout.isTrimOnTop()) {
-		// Point localPos = new Point(event.x, event.y);
-		// getSite().dragStart(titleLabel.toDisplay(localPos), false);
-		// }
-		// }
-		// });
-
-		// // Compute the tab height
-		// int tabHeight = viewToolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-		//
-		// // Enforce a minimum tab height
-		// if (tabHeight < 20) {
-		// tabHeight = 20;
-		// }
-		// paneFolder.setTabHeight(tabHeight);
-		//		
-		populateSystemMenu(systemMenuManager);
-	}
-
-	/*
-	 * Return true if <code>x</code> is over the label image.
-	 */
-	private boolean overImage(int x) {
-		return x < titleLabel.getImage().getBounds().width;
-	}
-
-	/**
-	 * @param systemMenuManager
-	 */
-	private void populateSystemMenu(IMenuManager systemMenuManager) {
-
-		systemMenuManager.add(new GroupMarker("misc")); //$NON-NLS-1$
-		systemMenuManager.add(new GroupMarker("restore")); //$NON-NLS-1$
-		systemMenuManager.add(new UpdatingActionContributionItem(
-				new SystemMenuRestore(getSite())));
-
-		systemMenuManager.add(new SystemMenuMove(getSite(), getPaneName()));
-		systemMenuManager.add(new GroupMarker("size")); //$NON-NLS-1$
-		systemMenuManager.add(new GroupMarker("state")); //$NON-NLS-1$
-		systemMenuManager.add(new UpdatingActionContributionItem(
-				new SystemMenuMinimize(getSite())));
-
-		systemMenuManager.add(new UpdatingActionContributionItem(
-				new SystemMenuMaximize(getSite())));
-		systemMenuManager.add(new Separator("close")); //$NON-NLS-1$
-		systemMenuManager.add(new UpdatingActionContributionItem(
-				new SystemMenuClose(getSite())));
-
-		getSite().addSystemActions(systemMenuManager);
-	}
-
-	protected String getPaneName() {
-		return R21PresentationMessages.getString("BasicStackPresentation.pane"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Displays the view menu as a popup
-	 */
-	public void showPaneMenu() {
-		IPartMenu menu = getPartMenu();
-
-		if (menu != null) {
-			Rectangle bounds = DragUtil.getDisplayBounds(viewToolBar);
-			menu.showMenu(new Point(bounds.x, bounds.y + bounds.height));
-		}
-	}
-
-	/**
-	 * Returns the currently selected part, or <code>null</code>.
-	 * 
-	 * @return the currently selected part, or <code>null</code>
-	 */
-	protected IPresentablePart getCurrent() {
-		return current;
-	}
-
-	/**
-	 * Returns the index of the tab for the given part, or returns
-	 * tabFolder.getItemCount() if there is no such tab.
-	 * 
-	 * @param part
-	 *            part being searched for
-	 * @return the index of the tab for the given part, or the number of tabs if
-	 *         there is no such tab
-	 */
-	private final int indexOf(IPresentablePart part) {
-		if (part == null) {
-			return paneFolder.getItemCount();
-		}
-
-		CTabItem[] items = paneFolder.getItems();
-
-		for (int idx = 0; idx < items.length; idx++) {
-			IPresentablePart tabPart = getPartForTab(items[idx]);
-
-			if (part == tabPart) {
-				return idx;
-			}
-		}
-
-		return items.length;
-	}
-
-	/**
-	 * Returns the tab for the given part, or null if there is no such tab
-	 * 
-	 * @param part
-	 *            the part being searched for
-	 * @return the tab for the given part, or null if there is no such tab
-	 */
-	protected final CTabItem getTab(IPresentablePart part) {
-		CTabItem[] items = paneFolder.getItems();
-
-		int idx = indexOf(part);
-
-		if (idx < items.length) {
-			return items[idx];
-		}
-
-		return null;
-	}
-
-	/**
-	 * @param part
-	 * @param property
-	 */
-	protected void childPropertyChanged(IPresentablePart part, int property) {
-
-		CTabItem tab = getTab(part);
-		initTab(tab, part);
-
-		switch (property) {
-		case IPresentablePart.PROP_BUSY:
-			break;
-		case IPresentablePart.PROP_HIGHLIGHT_IF_BACK:
-			// FontRegistry registry =
-			// PlatformUI.getWorkbench().
-			// getThemeManager().getCurrentTheme().
-			// getFontRegistry();
-			//	     	
-			// if(!getCurrent().equals(part))//Set bold if it does currently
-			// have focus
-			// tab.setFont(registry.getBold(IWorkbenchThemeConstants.TAB_TEXT_FONT));
-			// break;
-		case IPresentablePart.PROP_TOOLBAR:
-		case IPresentablePart.PROP_PANE_MENU:
-		case IPresentablePart.PROP_TITLE:
-			setControlSize();
-			break;
-		}
-	}
-
-	protected final IPresentablePart getPartForTab(CTabItem item) {
-		IPresentablePart part = (IPresentablePart) item.getData(TAB_DATA);
-
-		return part;
-	}
-
-	/**
-	 * Returns the underlying tab folder for this presentation.
-	 * 
-	 * @return
-	 */
-	protected R21PaneFolder getPaneFolder() {
-		return paneFolder;
-	}
-
-	/**
-	 * Returns true iff the underlying tab folder has been disposed.
-	 * 
-	 * @return
-	 */
-	public boolean isDisposed() {
-		return paneFolder == null || paneFolder.isDisposed();
-	}
-
-	/**
-	 * Update the tab folder's colours to match the current theme settings and
-	 * active state
-	 */
-	protected void updateGradient() {
-
-		if (isDisposed()) {
-			return;
-		}
-
-		Color fgColor;
-		Color[] bgColors;
-		int[] bgPercents;
-		boolean vertical = false;
-		if (isActive()) {
-			if (getShellActivated()) {
-				fgColor = R21Colors.getSystemColor(SWT.COLOR_TITLE_FOREGROUND);
-				bgColors = R21Colors.getActiveViewGradient();
-				bgPercents = R21Colors.getActiveViewGradientPercents();
-			} else {
-				fgColor = R21Colors
-						.getSystemColor(SWT.COLOR_TITLE_INACTIVE_FOREGROUND);
-				bgColors = R21Colors.getDeactivatedViewGradient();
-				bgPercents = R21Colors.getDeactivatedViewGradientPercents();
-			}
-
-		} else {
-			fgColor = R21Colors.getSystemColor(SWT.COLOR_LIST_FOREGROUND);
-			bgColors = null;
-			bgPercents = null;
-		}
-
-		drawGradient(fgColor, bgColors, bgPercents, vertical);
-
-		// Color fgColor;
-		// ITheme currentTheme =
-		// PlatformUI.getWorkbench().getThemeManager().getCurrentTheme();
-		// FontRegistry fontRegistry = currentTheme.getFontRegistry();
-		// ColorRegistry colorRegistry = currentTheme.getColorRegistry();
-		// Color [] bgColors = new Color[2];
-		// int [] percent = new int[1];
-		// boolean vertical;
-
-		// if (isActive()){
-		//        	
-		// CTabItem item = getPaneFolder().getSelection();
-		// if(item != null && !getPartForTab(item).isBusy()){
-		// Font tabFont =
-		// fontRegistry.get(IWorkbenchThemeConstants.TAB_TEXT_FONT);
-		// // item.setFont(tabFont);
-		// }
-		//            
-		// fgColor =
-		// colorRegistry.get(IWorkbenchThemeConstants.ACTIVE_TAB_TEXT_COLOR);
-		// bgColors[0] =
-		// colorRegistry.get(IWorkbenchThemeConstants.ACTIVE_TAB_BG_START);
-		// bgColors[1] =
-		// colorRegistry.get(IWorkbenchThemeConstants.ACTIVE_TAB_BG_END);
-		// percent[0] =
-		// currentTheme.getInt(IWorkbenchThemeConstants.ACTIVE_TAB_PERCENT);
-		// vertical =
-		// currentTheme.getBoolean(IWorkbenchThemeConstants.ACTIVE_TAB_VERTICAL);
-		// } else {
-		// fgColor =
-		// colorRegistry.get(IWorkbenchThemeConstants.INACTIVE_TAB_TEXT_COLOR);
-		// bgColors[0] =
-		// colorRegistry.get(IWorkbenchThemeConstants.INACTIVE_TAB_BG_START);
-		// bgColors[1] =
-		// colorRegistry.get(IWorkbenchThemeConstants.INACTIVE_TAB_BG_END);
-		// percent[0] =
-		// currentTheme.getInt(IWorkbenchThemeConstants.INACTIVE_TAB_PERCENT);
-		// vertical =
-		// currentTheme.getBoolean(IWorkbenchThemeConstants.INACTIVE_TAB_VERTICAL);
-		// }
-		//      
-		//		
-		// drawGradient(fgColor, bgColors, bgPercents, false);
-	}
-
-	/**
-	 * Draws the applicable gradient on the title area
-	 * 
-	 * @param fgColor
-	 * @param bgColors
-	 * @param percentages
-	 * @param vertical
-	 */
-	public void drawGradient(Color fgColor, Color[] bgColors,
-			int[] percentages, boolean vertical) {
-		// paneFolder.setSelectionForeground(fgColor);
-		// paneFolder.setSelectionBackground(bgColors, percentages, vertical);
-
-		if (titleLabel == null || viewToolBar == null) {
-			return;
-		}
-
-		titleLabel.setBackground(bgColors, percentages, vertical);
-		titleLabel.setForeground(fgColor);
-
-		titleLabel.update();
-	}
-
-	public boolean isActive() {
-		return activeState;
-	}
-
-	/**
-	 * Set the size of a page in the folder.
-	 * 
-	 * TODO: Kim here...I had to make this public so that the when the font was
-	 * updated via the color scheme service it could relayout the
-	 * presentation... calling control.getLayout() doesn't do the trick.
-	 */
-	public void setControlSize() {
-		// Set up the top-right controls
-		// List topRight = new ArrayList(3);
-
-		if (current != null) {
-			paneFolder.setTopLeft(titleLabel);
-			titleLabel.setText(current.getTitle());
-			titleLabel.setImage(current.getTitleImage());
-			titleLabel.setVisible(true);
-
-			// set tooltip (https://bugs.eclipse.org/bugs/show_bug.cgi?id=67513)
-			String toolTipText = current.getTitleToolTip();
-			titleLabel.setToolTipText(toolTipText
-					.equals(Util.ZERO_LENGTH_STRING) ? null : toolTipText);
-			
-		}
-
-		Control currentToolbar = getCurrentToolbar();
-		paneFolder.setTopCenter(currentToolbar);
-
-		IPartMenu partMenu = getPartMenu();
-
-		if (partMenu != null) {
-			pullDownButton.setEnabled(true);
-		} else {
-			pullDownButton.setEnabled(false);
-		}
-		paneFolder.setTopRight(viewToolBar);
-		viewToolBar.setVisible(true);
-
-		paneFolder.layout(true);
-
-		if (current != null) {
-			Rectangle clientArea = paneFolder.getClientArea();
-			Rectangle bounds = paneFolder.getControl().getBounds();
-			clientArea.x += bounds.x;
-			clientArea.y += bounds.y;
-
-			current.setBounds(clientArea);
-		}
-
-	}
-
-	/**
-	 * Returns the IPartMenu for the currently selected part, or null if the
-	 * current part does not have a menu.
-	 * 
-	 * @return the IPartMenu for the currently selected part or null if none
-	 */
-	protected IPartMenu getPartMenu() {
-		IPresentablePart part = getCurrentPart();
-		if (part == null) {
-			return null;
-		}
-
-		return part.getMenu();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.Presentation#dispose()
-	 */
-	public void dispose() {
-		if (isDisposed()) {
-			return;
-		}
-
-		// remove shell listener
-		paneFolder.getControl().getShell().removeShellListener(shellListener);
-
-		PresentationUtil.removeDragListener(paneFolder.getControl(),
-				dragListener);
-		PresentationUtil.removeDragListener(titleLabel, dragListener);
-
-		systemMenuManager.dispose();
-		systemMenuManager.removeAll();
-		paneFolder.getControl().dispose();
-		paneFolder = null;
-
-		titleLabel.dispose();
-		titleLabel = null;
-
-		viewToolBar.dispose();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.Presentation#setActive(boolean)
-	 */
-	public void setActive(boolean isActive) {
-		activeState = isActive;
-		updateGradient();
-	}
-
-	/**
-	 * Return whether the window's shell is activated
-	 */
-	/* package */boolean getShellActivated() {
-		return shellActive;
-	}
-
-	/**
-	 * Returns the top level window.
-	 */
-	public Window getWindow() {
-		Control ctrl = getControl();
-		if (ctrl != null) {
-			Object data = ctrl.getShell().getData();
-			if (data instanceof Window) {
-				return (Window) data;
-			}
-		}
-		return null;
-	}
-
-	private CTabItem createPartTab(IPresentablePart part, int tabIndex) {
-		CTabItem tabItem;
-
-		int style = SWT.NONE;
-
-		if (getSite().isCloseable(part)) {
-			style |= SWT.CLOSE;
-		}
-
-		tabItem = paneFolder.createItem(style, tabIndex);
-
-		tabItem.setData(TAB_DATA, part);
-
-		part.addPropertyListener(childPropertyChangeListener);
-		tabItem.addDisposeListener(tabDisposeListener);
-
-		initTab(tabItem, part);
-
-		return tabItem;
-	}
-
-	// Create a close button in the title bar for the argument part (if needed).
-	private void updateCloseButton() {
-		// remove the close button if needed
-		if (current == null || !getSite().isCloseable(current)) {
-			if (closeButton != null) {
-				closeButton.dispose();
-				closeButton = null;
-
-				paneFolder.flush();
-			}
-			return;
-		}
-
-		// a close button is needed, so if its already there, we're done
-		if (closeButton != null) {
-			return;
-		}
-
-		// otherwise create it
-		closeButton = new ToolItem(viewToolBar, SWT.PUSH);
-		closeButton.setDisabledImage(null);
-		closeButton.setImage(WorkbenchImages
-				.getImage(IWorkbenchGraphicConstants.IMG_LCL_CLOSE_VIEW));
-		closeButton.setToolTipText(R21PresentationMessages
-				.getString("BasicStackPresentation.close.tooltip")); //$NON-NLS-1$
-		closeButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				close(getCurrent());
-			}
-		});
-
-		paneFolder.flush();
-	}
-
-	/**
-	 * Initializes a tab for the given part. Sets the text, icon, tool tip, etc.
-	 * This will also be called whenever a relevant property changes in the part
-	 * to reflect those changes in the tab. Subclasses may override to change
-	 * the appearance of tabs for a particular part.
-	 * 
-	 * @param tabItem
-	 *            tab for the part
-	 * @param part
-	 *            the part being displayed
-	 */
-	protected void initTab(CTabItem tabItem, IPresentablePart part) {
-		tabItem.setText(part.getName());
-
-		// tabItem.setImage(part.getTitleImage());
-
-		// String toolTipText = part.getTitleToolTip();
-		// if (!toolTipText.equals(Util.ZERO_LENGTH_STRING)) {
-		// tabItem.setToolTipText(toolTipText);
-		// }
-
-		// FontRegistry registry =
-		// PlatformUI.getWorkbench().
-		// getThemeManager().getCurrentTheme().
-		// getFontRegistry();
-		//		
-		// if(part.isBusy())
-		// tabItem.setFont(registry.getItalic(IWorkbenchThemeConstants.TAB_TEXT_FONT));
-		// else{
-		// tabItem.setFont(registry.get(IWorkbenchThemeConstants.TAB_TEXT_FONT));
-		// }
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.StackPresentation#addPart(org.eclipse.ui.internal.skins.IPresentablePart,
-	 *      org.eclipse.ui.internal.skins.IPresentablePart)
-	 */
-	public void addPart(IPresentablePart newPart, Object cookie) {
-
-		int idx;
-
-		if (cookie instanceof Integer) {
-			idx = ((Integer) cookie).intValue();
-		} else {
-			// Select a location for newly inserted parts
-			idx = paneFolder.getItemCount();
-		}
-
-		addPart(newPart, idx);
-	}
-
-	/**
-	 * Adds the given presentable part to this presentation at the given index.
-	 * Does nothing if a tab already exists for the given part.
-	 * 
-	 * @param newPart
-	 * @param index
-	 */
-	public void addPart(IPresentablePart newPart, int index) {
-		// If we already have a tab for this part, do nothing
-		if (getTab(newPart) != null) {
-			return;
-		}
-		createPartTab(newPart, index);
-
-		setControlSize();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.StackPresentation#removePart(org.eclipse.ui.internal.skins.IPresentablePart)
-	 */
-	public void removePart(IPresentablePart oldPart) {
-		if (current == oldPart) {
-			titleLabel.setImage(null);
-			current = null;
-		}
-
-		CTabItem item = getTab(oldPart);
-		if (item == null) {
-			return;
-		}
-		oldPart.setVisible(false);
-
-		item.dispose();
-
-		// Layout the folder again in case there is only one item
-		setControlSize();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.StackPresentation#selectPart(org.eclipse.ui.internal.skins.IPresentablePart)
-	 */
-	public void selectPart(IPresentablePart toSelect) {
-		if (toSelect == current) {
-			return;
-		}
-
-		IPresentablePart oldPart = current;
-
-		current = toSelect;
-
-		if (current != null) {
-			paneFolder.setSelection(indexOf(current));
-			current.setVisible(true);
-			updateCloseButton();
-			setControlSize();
-		}
-
-		if (oldPart != null) {
-			oldPart.setVisible(false);
-		}
-	}
-
-	public IPresentablePart getCurrentPart() {
-		return current;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.Presentation#setBounds(org.eclipse.swt.graphics.Rectangle)
-	 */
-	public void setBounds(Rectangle bounds) {
-		if (getSite().getState() == IStackPresentationSite.STATE_MINIMIZED) {
-			bounds = Geometry.copy(bounds);
-			bounds.height = computePreferredSize(false, Integer.MAX_VALUE,
-					bounds.width, Integer.MAX_VALUE);
-		}
-
-		paneFolder.getControl().setBounds(bounds);
-		setControlSize();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.Presentation#computeMinimumSize()
-	 */
-	public Point computeMinimumSize() {
-		Point result = Geometry.getSize(paneFolder.computeTrim(0, 0, 0, 0));
-
-		result.x += 100;
-
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.Presentation#setVisible(boolean)
-	 */
-	public void setVisible(boolean isVisible) {
-		if (current != null) {
-			current.setVisible(isVisible);
-		}
-		paneFolder.getControl().setVisible(isVisible);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.Presentation#setState(int)
-	 */
-	public void setState(int state) {
-		// tabFolder.setState(state);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.Presentation#getSystemMenuManager()
-	 */
-	public IMenuManager getSystemMenuManager() {
-		return systemMenuManager;
-	}
-
-	/**
-	 * @param point
-	 */
-	protected void showSystemMenu(Point point) {
-		Menu aMenu = systemMenuManager.createContextMenu(paneFolder
-				.getControl().getParent());
-		systemMenuManager.update(true);
-		aMenu.setLocation(point.x, point.y);
-		aMenu.setVisible(true);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.Presentation#getControl()
-	 */
-	public Control getControl() {
-		return paneFolder.getControl();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.StackPresentation#dragOver(org.eclipse.swt.widgets.Control,
-	 *      org.eclipse.swt.graphics.Point)
-	 */
-	public StackDropResult dragOver(Control currentControl, Point location) {
-
-		// Determine which tab we're currently dragging over
-		Point localPos = paneFolder.getControl().toControl(location);
-		final CTabItem tabUnderPointer = paneFolder.getItem(localPos);
-
-		// This drop target only deals with tabs... if we're not dragging over
-		// a tab, exit.
-		if (tabUnderPointer == null) {
-			return null;
-		}
-
-		// workaround when left tab is dragged over next
-		int dragOverIndex = paneFolder.indexOf(tabUnderPointer);
-
-		return new StackDropResult(Geometry.toDisplay(paneFolder.getControl(),
-				tabUnderPointer.getBounds()), new Integer(dragOverIndex));
-	}
-
-	/**
-	 * Returns the toolbar control for the currently selected part, or null if
-	 * none (not all parts have a toolbar).
-	 * 
-	 * @return the current toolbar or null if none
-	 */
-	protected Control getCurrentToolbar() {
-		IPresentablePart part = getCurrentPart();
-		if (part == null) {
-			return null;
-		}
-
-		return part.getToolBar();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.presentations.StackPresentation#showSystemMenu()
-	 */
-	public void showSystemMenu() {
-		IPresentablePart part = getCurrentPart();
-		if (part != null) {
-			Rectangle bounds = DragUtil.getDisplayBounds(paneFolder
-					.getControl());
-
-			int idx = paneFolder.getSelectionIndex();
-			if (idx > -1) {
-				CTabItem item = paneFolder.getItem(idx);
-				Rectangle itemBounds = item.getBounds();
-
-				bounds.x += itemBounds.x;
-				bounds.y += itemBounds.y;
-			}
-
-			Point location = new Point(bounds.x, bounds.y
-					+ paneFolder.getTabHeight());
-			showSystemMenu(location);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.presentations.StackPresentation#getTabList(IPresentablePart)
-	 */
-	public Control[] getTabList(IPresentablePart part) {
-		ArrayList list = new ArrayList();
-		if (paneFolder.getTabPosition() == SWT.BOTTOM) {
-			if (part.getToolBar() != null) {
-				list.add(part.getToolBar());
-			}
-			if (part.getControl() != null) {
-				list.add(part.getControl());
-			}
-			if (getPaneFolder() != null) {
-				list.add(getPaneFolder().getControl());
-			}
-		} else {
-			if (getPaneFolder() != null) {
-				list.add(getPaneFolder().getControl());
-			}
-			if (part.getToolBar() != null) {
-				list.add(part.getToolBar());
-			}
-			if (part.getControl() != null) {
-				list.add(part.getControl());
-			}
-		}
-		return (Control[]) list.toArray(new Control[list.size()]);
-	}
-
-	protected void showList(Shell parentShell, int x, int y) {
-		// final R21PaneFolder tabFolder = getTabFolder();
-		//
-		// int shellStyle = SWT.RESIZE | SWT.ON_TOP | SWT.NO_TRIM;
-		// int tableStyle = SWT.V_SCROLL | SWT.H_SCROLL;
-		// final BasicStackList editorList = new
-		// BasicStackList(tabFolder.getControl().getShell(),
-		// shellStyle, tableStyle);
-		// editorList.setInput(this);
-		// Point size = editorList.computeSizeHint();
-		//        
-		// Rectangle bounds = Display.getCurrent().getBounds();
-		// if (x + size.x > bounds.width) x = bounds.width - size.x;
-		// if (y + size.y > bounds.height) y = bounds.height - size.y;
-		// editorList.setLocation(new Point(x, y));
-		// editorList.setVisible(true);
-		// editorList.setFocus();
-		// editorList.getTableViewer().getTable().getShell().addListener(
-		// SWT.Deactivate, new Listener() {
-		//
-		// public void handleEvent(Event event) {
-		// editorList.setVisible(false);
-		// }
-		// });
-	}
-
-	/*
-	 * Shows the list of tabs at the top left corner of the editor
-	 */
-	protected void showListDefaultLocation() {
-		R21PaneFolder tabFolder = getPaneFolder();
-		Shell shell = tabFolder.getControl().getShell();
-		Rectangle clientArea = tabFolder.getClientArea();
-		Point location = tabFolder.getControl().getDisplay().map(
-				tabFolder.getControl(), null, clientArea.x, clientArea.y);
-		showList(shell, location.x, location.y);
-	}
-
-	void setSelection(CTabItem tabItem) {
-		getSite().selectPart(getPartForTab(tabItem));
-	}
-
-	void close(IPresentablePart presentablePart) {
-		getSite().close(new IPresentablePart[] { presentablePart });
-	}
-
-	Image getLabelImage(IPresentablePart presentablePart) {
-		return presentablePart.getTitleImage();
-	}
-
-	String getLabelText(IPresentablePart presentablePart, boolean includePath) {
-		String title = presentablePart.getTitle().trim();
-		return title;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.presentations.StackPresentation#setActive(int)
-	 */
-	public void setActive(int newState) {
-		setActive(newState == AS_ACTIVE_FOCUS);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.presentations.StackPresentation#restoreState(org.eclipse.ui.presentations.IPresentationSerializer,
-	 *      org.eclipse.ui.IMemento)
-	 */
-	public void restoreState(IPresentationSerializer serializer,
-			IMemento savedState) {
-		IMemento[] parts = savedState.getChildren(IWorkbenchConstants.TAG_PART);
-
-		for (int idx = 0; idx < parts.length; idx++) {
-			String id = parts[idx].getString(IWorkbenchConstants.TAG_ID);
-
-			if (id != null) {
-				IPresentablePart part = serializer.getPart(id);
-
-				if (part != null) {
-					addPart(part, getPaneFolder().getItemCount());
-				}
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.presentations.StackPresentation#saveState(org.eclipse.ui.presentations.IPresentationSerializer,
-	 *      org.eclipse.ui.IMemento)
-	 */
-	public void saveState(IPresentationSerializer context, IMemento memento) {
-		super.saveState(context, memento);
-
-		List parts = getPresentableParts();
-
-		Iterator iter = parts.iterator();
-		while (iter.hasNext()) {
-			IPresentablePart next = (IPresentablePart) iter.next();
-
-			IMemento childMem = memento
-					.createChild(IWorkbenchConstants.TAG_PART);
-			childMem.putString(IWorkbenchConstants.TAG_ID, context.getId(next));
-		}
-	}
-
-	/**
-	 * Returns the List of IPresentablePart currently in this presentation
-	 */
-	private List getPresentableParts() {
-		Assert.isTrue(!isDisposed());
-
-		CTabItem[] items = getPaneFolder().getItems();
-		List result = new ArrayList(items.length);
-
-		for (int idx = 0; idx < getPaneFolder().getItemCount(); idx++) {
-			result.add(getPartForTab(items[idx]));
-		}
-
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21EditorStackPresentation.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21EditorStackPresentation.java
deleted file mode 100644
index 34cbe21..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21EditorStackPresentation.java
+++ /dev/null
@@ -1,1007 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.ShellAdapter;
-import org.eclipse.swt.events.ShellEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.internal.IPreferenceConstants;
-import org.eclipse.ui.internal.IWorkbenchConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.WorkbenchWindow;
-import org.eclipse.ui.internal.dnd.DragUtil;
-import org.eclipse.ui.internal.presentations.r21.R21Colors;
-import org.eclipse.ui.internal.presentations.r21.R21PresentationMessages;
-import org.eclipse.ui.internal.presentations.r21.widgets.CTabFolder;
-import org.eclipse.ui.internal.presentations.r21.widgets.CTabFolderEvent;
-import org.eclipse.ui.internal.presentations.r21.widgets.CTabFolderListener;
-import org.eclipse.ui.internal.presentations.r21.widgets.CTabItem;
-import org.eclipse.ui.presentations.IPartMenu;
-import org.eclipse.ui.presentations.IPresentablePart;
-import org.eclipse.ui.presentations.IPresentationSerializer;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.PresentationUtil;
-import org.eclipse.ui.presentations.StackDropResult;
-import org.eclipse.ui.presentations.StackPresentation;
-
-/**
- * A stack presentation for editors using a widget set that is close to what was
- * provided in 2.1.
- * <p>
- * EXPERIMENTAL
- * </p>
- * 
- * @since 3.0
- */
-public class R21EditorStackPresentation extends StackPresentation {
-
-	/** the tab folder */
-	private CTabFolder tabFolder;
-
-	/** the drag listener */
-	private Listener dragListener = new Listener() {
-
-		public void handleEvent(Event event) {
-			Point localPos = new Point(event.x, event.y);
-			CTabItem tabUnderPointer = tabFolder.getItem(localPos);
-
-			if (tabUnderPointer == null) {
-				// drag the entire stack
-				if (getSite().isStackMoveable()) {
-					getSite().dragStart(tabFolder.toDisplay(localPos), false);
-				}
-				return;
-			}
-
-			IPresentablePart part = getPartForTab(tabUnderPointer);
-
-			if (getSite().isPartMoveable(part)) {
-				// drag the part
-				getSite().dragStart(part, tabFolder.toDisplay(localPos), false);
-			}
-		}
-	};
-
-	/** the listener that will close the tab */
-	private CTabFolderListener closeListener = new CTabFolderListener() {
-
-		public void itemClosed(CTabFolderEvent e) {
-			CTabItem item = (CTabItem) e.item;
-			if (null != item) {
-				e.doit = false; // otherwise tab is auto disposed on return
-				getSite().close(new IPresentablePart[] { getPartForTab(item) });
-			}
-		}
-	};
-
-	/** the current part */
-	private IPresentablePart current;
-
-	/** the system menu */
-	private MenuManager systemMenuManager = new MenuManager();
-
-	/** the shared preference store */
-	private static IPreferenceStore preferenceStore = WorkbenchPlugin
-			.getDefault().getPreferenceStore();
-
-	// don't reset this dynamically, so just keep the information static.
-	// see bug:
-	// 75422 [Presentations] Switching presentation to R21 switches immediately,
-	// but only partially
-	private static int tabPos = preferenceStore
-			.getInt(IPreferenceConstants.EDITOR_TAB_POSITION);
-
-	/** the tab item property holding the part */
-	private final static String TAB_DATA = R21EditorStackPresentation.class
-			.getName()
-			+ ".partId"; //$NON-NLS-1$
-
-	/** the mouse listener for setting focus */
-	private MouseListener mouseListener = new MouseAdapter() {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.swt.events.MouseListener#mouseDown(org.eclipse.swt.events.MouseEvent)
-		 */
-		public void mouseDown(MouseEvent e) {
-			if (e.widget instanceof Control) {
-				Control ctrl = (Control) e.widget;
-
-				Point globalPos = ctrl.toDisplay(new Point(e.x, e.y));
-
-				CTabItem newItem = tabFolder.getItem(tabFolder
-						.toControl(globalPos));
-				if (newItem != null) {
-
-					// show menu over icon
-					if ((e.button == 1) && overImage(newItem, e.x)) {
-						getSite().selectPart(getPartForTab(newItem));
-						showSystemMenu();
-					}
-
-					// PR#1GDEZ25 - If selection will change in mouse up ignore
-					// mouse down.
-					CTabItem oldItem = tabFolder.getSelection();
-					if (newItem != oldItem) {
-						return;
-					}
-				}
-
-				// set focus
-				if (current != null) {
-					current.setFocus();
-				}
-			}
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.swt.events.MouseAdapter#mouseDoubleClick(org.eclipse.swt.events.MouseEvent)
-		 */
-		public void mouseDoubleClick(MouseEvent e) {
-			if (getSite().getState() == IStackPresentationSite.STATE_MAXIMIZED) {
-				getSite().setState(IStackPresentationSite.STATE_RESTORED);
-			} else {
-				getSite().setState(IStackPresentationSite.STATE_MAXIMIZED);
-			}
-		}
-	};
-
-	/**
-	 * Return true if <code>x</code> is over the tab item image.
-	 * 
-	 * @return true if <code>x</code> is over the tab item image
-	 */
-	static boolean overImage(CTabItem item, int x) {
-		Rectangle imageBounds = item.getImage().getBounds();
-		return x < (item.getBounds().x + imageBounds.x + imageBounds.width);
-	}
-
-	/** the menu listener for showing the menu */
-	private Listener menuListener = new Listener() {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-		 */
-		public void handleEvent(Event event) {
-			Point pos = new Point(event.x, event.y);
-			showSystemMenu(pos);
-		}
-	};
-
-	/** the selection listener */
-	private Listener selectionListener = new Listener() {
-
-		public void handleEvent(Event e) {
-			IPresentablePart item = getPartForTab((CTabItem) e.item);
-			if (item != null) {
-				getSite().selectPart(item);
-			}
-		}
-	};
-
-	private Listener resizeListener = new Listener() {
-
-		public void handleEvent(Event e) {
-			setControlSize();
-		}
-	};
-
-	/** a property change listener for the parts */
-	private IPropertyListener childPropertyChangeListener = new IPropertyListener() {
-
-		public void propertyChanged(Object source, int property) {
-			if (source instanceof IPresentablePart) {
-				IPresentablePart part = (IPresentablePart) source;
-				childPropertyChanged(part, property);
-			}
-		}
-	};
-
-	/** a dispose listener to do some cleanups when a tab is disposed */
-	private DisposeListener tabDisposeListener = new DisposeListener() {
-
-		public void widgetDisposed(DisposeEvent e) {
-			if (e.widget instanceof CTabItem) {
-				CTabItem item = (CTabItem) e.widget;
-				IPresentablePart part = getPartForTab(item);
-				part.removePropertyListener(childPropertyChangeListener);
-			}
-		}
-	};
-
-	/** the shell listener for upgrading the gradient */
-	private ShellAdapter shellListener = new ShellAdapter() {
-
-		public void shellActivated(ShellEvent event) {
-			updateGradient();
-		}
-
-		public void shellDeactivated(ShellEvent event) {
-			updateGradient();
-		}
-	};
-
-	/**
-	 * Create a new presentation stack.
-	 * 
-	 * @param parent
-	 *            the parent widget
-	 * @param stackSite
-	 *            the site
-	 */
-	public R21EditorStackPresentation(Composite parent,
-			IStackPresentationSite stackSite) {
-		super(stackSite);
-
-		// create the tab folder
-		tabFolder = new CTabFolder(parent, tabPos | SWT.BORDER);
-
-		// minimum tab width
-		tabFolder.MIN_TAB_WIDTH = preferenceStore
-				.getInt(IPreferenceConstants.EDITOR_TAB_WIDTH);
-
-		// prevent close button and scroll buttons from taking focus
-		tabFolder.setTabList(new Control[0]);
-
-		// enable close button in tab folder
-		tabFolder.addCTabFolderListener(closeListener);
-
-		// listener to switch between visible tabItems
-		tabFolder.addListener(SWT.Selection, selectionListener);
-
-		// listener to resize visible components
-		tabFolder.addListener(SWT.Resize, resizeListener);
-
-		// listen for mouse down on tab to set focus, show system menu and
-		// maximize/restore.
-		tabFolder.addMouseListener(mouseListener);
-
-		// the menu
-		tabFolder.addListener(SWT.MenuDetect, menuListener);
-
-		// register drag listener
-		PresentationUtil.addDragListener(tabFolder, dragListener);
-
-		// add the shell listener to track shell activations
-		// TODO: check if workaround can be removed (see bug 55458)
-		tabFolder.getShell().addShellListener(shellListener);
-
-		// initialize system menu
-		populateSystemMenu(systemMenuManager);
-	}
-
-	/**
-	 * Initializes the specified menu manager.
-	 * 
-	 * @param menuManager
-	 */
-	private void populateSystemMenu(IMenuManager menuManager) {
-
-		menuManager.add(new GroupMarker("misc")); //$NON-NLS-1$
-		menuManager.add(new GroupMarker("restore")); //$NON-NLS-1$
-		menuManager.add(new UpdatingActionContributionItem(
-				new SystemMenuRestore(getSite())));
-		menuManager.add(new SystemMenuMove(getSite(), getPaneName()));
-		menuManager.add(new GroupMarker("size")); //$NON-NLS-1$
-		menuManager.add(new GroupMarker("state")); //$NON-NLS-1$
-		// systemMenuManager.add(new UpdatingActionContributionItem(new
-		// SystemMenuMinimize(getSite())));
-		menuManager.add(new UpdatingActionContributionItem(
-				new SystemMenuMaximize(getSite())));
-		menuManager.add(new Separator("close")); //$NON-NLS-1$
-		menuManager.add(new UpdatingActionContributionItem(new SystemMenuClose(
-				getSite())));
-
-		getSite().addSystemActions(menuManager);
-	}
-
-	/**
-	 * Returns the index of the tab for the given part, or returns
-	 * tabFolder.getItemCount() if there is no such tab.
-	 * 
-	 * @param part
-	 *            part being searched for
-	 * @return the index of the tab for the given part, or the number of tabs if
-	 *         there is no such tab
-	 */
-	private final int indexOf(IPresentablePart part) {
-		if (part == null) {
-			return tabFolder.getItemCount();
-		}
-
-		CTabItem[] items = tabFolder.getItems();
-		for (int idx = 0; idx < items.length; idx++) {
-			if (part == getPartForTab(items[idx])) {
-				return idx;
-			}
-		}
-
-		return items.length;
-	}
-
-	/**
-	 * Returns the tab for the given part, or null if there is no such tab
-	 * 
-	 * @param part
-	 *            the part being searched for
-	 * @return the tab for the given part, or null if there is no such tab
-	 */
-	protected final CTabItem getTab(IPresentablePart part) {
-		CTabItem[] items = tabFolder.getItems();
-		int idx = indexOf(part);
-		return idx < items.length ? items[idx] : null;
-	}
-
-	/**
-	 * @param part
-	 * @param property
-	 */
-	protected void childPropertyChanged(IPresentablePart part, int property) {
-		initTab(getTab(part), part);
-	}
-
-	protected final IPresentablePart getPartForTab(CTabItem item) {
-		return (IPresentablePart) item.getData(TAB_DATA);
-	}
-
-	protected CTabFolder getTabFolder() {
-		return tabFolder;
-	}
-
-	/**
-	 * Answer whether the receiver is disposed.
-	 * 
-	 * @return boolean <code>true</code> if disposed
-	 */
-	public boolean isDisposed() {
-		return tabFolder == null || tabFolder.isDisposed();
-	}
-
-	/**
-	 * Set the size of a page in the folder.
-	 */
-	private void setControlSize() {
-		if (current != null && tabFolder != null) {
-			current.setBounds(calculatePageBounds(tabFolder));
-		}
-	}
-
-	/**
-	 * Calculate the bounds of the client area inside the folder
-	 * 
-	 * @param folder
-	 * @return Rectangle the bounds of the client
-	 */
-	public static Rectangle calculatePageBounds(CTabFolder folder) {
-		if (folder == null) {
-			return new Rectangle(0, 0, 0, 0);
-		}
-
-		Rectangle bounds = folder.getBounds();
-		Rectangle offset = folder.getClientArea();
-		bounds.x += offset.x;
-		bounds.y += offset.y;
-		bounds.width = offset.width;
-		bounds.height = offset.height;
-		return bounds;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.Presentation#dispose()
-	 */
-	public void dispose() {
-		if (isDisposed()) {
-			return;
-		}
-
-		// remove shell listener
-		tabFolder.getShell().removeShellListener(shellListener);
-
-		// remove close listener
-		tabFolder.removeCTabFolderListener(closeListener);
-
-		// remove drag listener
-		PresentationUtil.removeDragListener(tabFolder, dragListener);
-
-		// dispose system menu manager
-		systemMenuManager.dispose();
-		systemMenuManager.removeAll();
-
-		// dispose tab folder
-		tabFolder.dispose();
-		tabFolder = null;
-	}
-
-	/** the active state */
-	private int activeState = AS_INACTIVE;
-
-	/**
-	 * Update the tab folder's colours to match the current theme settings and
-	 * active state
-	 */
-	private void updateGradient() {
-
-		if (isDisposed()) {
-			return;
-		}
-
-		Color fgColor;
-		Color[] bgColors;
-		int[] bgPercents;
-		boolean vertical = false;
-		if (activeState == AS_ACTIVE_FOCUS) {
-			if (getShellActivated()) {
-				fgColor = R21Colors.getSystemColor(SWT.COLOR_TITLE_FOREGROUND);
-				bgColors = R21Colors.getActiveEditorGradient();
-				bgPercents = R21Colors.getActiveEditorGradientPercents();
-			} else {
-				fgColor = R21Colors
-						.getSystemColor(SWT.COLOR_TITLE_INACTIVE_FOREGROUND);
-				bgColors = R21Colors.getDeactivatedEditorGradient();
-				bgPercents = R21Colors.getDeactivatedEditorGradientPercents();
-			}
-
-		} else if (activeState == AS_ACTIVE_NOFOCUS) {
-			fgColor = R21Colors.getSystemColor(SWT.COLOR_LIST_FOREGROUND);
-			bgColors = R21Colors.getActiveNoFocusEditorGradient();
-			bgPercents = R21Colors.getActiveNoFocusEditorGradientPercents();
-		} else {
-			fgColor = null;
-			bgColors = null;
-			bgPercents = null;
-		}
-
-		drawGradient(fgColor, bgColors, bgPercents, vertical);
-	}
-
-	/**
-	 * Sets the gradient for the selected tab
-	 * 
-	 * @param fgColor
-	 * @param bgColors
-	 * @param percentages
-	 * @param vertical
-	 */
-	protected void drawGradient(Color fgColor, Color[] bgColors,
-			int[] percentages, boolean vertical) {
-		tabFolder.setSelectionForeground(fgColor);
-		tabFolder.setSelectionBackground(bgColors, percentages);
-		tabFolder.update();
-	}
-
-	/**
-	 * Return whether the window's shell is activated
-	 */
-	/* package */boolean getShellActivated() {
-		Window window = getWindow();
-		if (window instanceof WorkbenchWindow) {
-			return ((WorkbenchWindow) window).getShellActivated();
-		}
-		return false;
-	}
-
-	/**
-	 * Returns the top level window.
-	 * 
-	 * @return Window the window for the receiver
-	 */
-	public Window getWindow() {
-		Control ctrl = getControl();
-		if (ctrl != null) {
-			Object data = ctrl.getShell().getData();
-			if (data instanceof Window) {
-				return (Window) data;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Creates the tab item for the specified part.
-	 * 
-	 * @param part
-	 * @param tabIndex
-	 * @return the tab item for the part
-	 */
-	private CTabItem createPartTab(IPresentablePart part, int tabIndex) {
-		CTabItem tabItem = new CTabItem(tabFolder, SWT.NONE, tabIndex);
-		tabItem.setData(TAB_DATA, part);
-		part.addPropertyListener(childPropertyChangeListener);
-		tabItem.addDisposeListener(tabDisposeListener);
-		initTab(tabItem, part);
-		return tabItem;
-	}
-
-	/**
-	 * Initializes a tab for the given part. Sets the text, icon, tool tip, etc.
-	 * This will also be called whenever a relevant property changes in the part
-	 * to reflect those changes in the tab. Subclasses may override to change
-	 * the appearance of tabs for a particular part.
-	 * 
-	 * @param tabItem
-	 *            tab for the part
-	 * @param part
-	 *            the part being displayed
-	 */
-	protected void initTab(CTabItem tabItem, IPresentablePart part) {
-
-		// set tab text and tooltip
-		tabItem.setText(getLabelText(part, true, false));
-		tabItem.setToolTipText(getLabelToolTipText(part));
-
-		// set tab image
-		tabItem.setImage(getLabelImage(part));
-
-		// following code allows a disabled image
-		// but the result was distracting: didn't see any disabled image
-
-		// Image image = getLabelImage(part);
-		// boolean useColorIcons = false; // should we use a preference setting?
-		//
-		// if (image == null || image.isDisposed()) {
-		// // normal image
-		// tabItem.setImage(null);
-		// // disabled image
-		// if (!useColorIcons) {
-		// Image disableImage = tabItem.getDisabledImage();
-		// if (disableImage != null) {
-		// disableImage.dispose();
-		// tabItem.setDisabledImage(null);
-		// }
-		// }
-		// } else if (!image.equals(tabItem.getImage())) {
-		// // normal image
-		// tabItem.setImage(image);
-		// // disabled image
-		// if (!useColorIcons) {
-		// Image disableImage = tabItem.getDisabledImage();
-		// if (disableImage != null)
-		// disableImage.dispose();
-		// Display display = tabItem.getDisplay();
-		// disableImage = new Image(display, image, SWT.IMAGE_DISABLE);
-		// tabItem.setDisabledImage(disableImage);
-		// }
-		// }
-
-	}
-
-	/**
-	 * Returns the label text that should be used for the tab item for the
-	 * specified part
-	 * 
-	 * @param presentablePart
-	 * @param dirtyLeft
-	 * @param includePath
-	 * @return a formated label text
-	 */
-	String getLabelText(IPresentablePart presentablePart, boolean dirtyLeft,
-			boolean includePath) {
-		String title = presentablePart.getName().trim();
-		String text = title;
-
-		if (includePath) {
-			String titleTooltip = presentablePart.getTitleToolTip().trim();
-
-			if (titleTooltip.endsWith(title)) {
-				titleTooltip = titleTooltip.substring(0,
-						titleTooltip.lastIndexOf(title)).trim();
-			}
-
-			if (titleTooltip.endsWith("\\")) { //$NON-NLS-1$
-				titleTooltip = titleTooltip.substring(0,
-						titleTooltip.lastIndexOf("\\")).trim(); //$NON-NLS-1$
-			}
-
-			if (titleTooltip.endsWith("/")) { //$NON-NLS-1$
-				titleTooltip = titleTooltip.substring(0,
-						titleTooltip.lastIndexOf("/")).trim(); //$NON-NLS-1$
-			}
-
-			if (titleTooltip.length() >= 1) {
-				text += " - " + titleTooltip; //$NON-NLS-1$
-			}
-		}
-
-		if (presentablePart.isDirty()) {
-			if (dirtyLeft) {
-				text = "* " + text; //$NON-NLS-1$
-			} else {
-				text = text + " *"; //$NON-NLS-1$
-			}
-		}
-
-		return text;
-	}
-
-	/**
-	 * Returns the image used for the tab item
-	 * 
-	 * @param presentablePart
-	 * @return an image
-	 */
-	Image getLabelImage(IPresentablePart presentablePart) {
-		return presentablePart.getTitleImage();
-	}
-
-	/**
-	 * Returns the tool tip text used for the tab item
-	 * 
-	 * @param presentablePart
-	 * @return a tool tip text
-	 */
-	String getLabelToolTipText(IPresentablePart presentablePart) {
-		return presentablePart.getTitleToolTip();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.StackPresentation#addPart(org.eclipse.ui.internal.skins.IPresentablePart,
-	 *      org.eclipse.ui.internal.skins.IPresentablePart)
-	 */
-	public void addPart(IPresentablePart newPart, Object cookie) {
-
-		int idx;
-
-		if (cookie instanceof Integer) {
-			idx = ((Integer) cookie).intValue();
-		} else {
-			// Select a location for newly inserted parts
-			idx = tabFolder.getItemCount();
-		}
-
-		addPart(newPart, idx);
-	}
-
-	/**
-	 * Adds the given presentable part to this presentation at the given index.
-	 * Does nothing if a tab already exists for the given part.
-	 * 
-	 * @param newPart
-	 * @param index
-	 */
-	public void addPart(IPresentablePart newPart, int index) {
-		// If we already have a tab for this part, do nothing
-		if (getTab(newPart) != null) {
-			return;
-		}
-		createPartTab(newPart, index);
-
-		// setControlSize();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.StackPresentation#removePart(org.eclipse.ui.internal.skins.IPresentablePart)
-	 */
-	public void removePart(IPresentablePart oldPart) {
-		if (current == oldPart) {
-			current = null;
-		}
-
-		CTabItem item = getTab(oldPart);
-		if (item == null) {
-			return;
-		}
-		oldPart.setVisible(false);
-
-		item.dispose();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.StackPresentation#selectPart(org.eclipse.ui.internal.skins.IPresentablePart)
-	 */
-	public void selectPart(IPresentablePart toSelect) {
-		if (toSelect == current) {
-			return;
-		}
-		
-		IPresentablePart oldPart = current;
-
-		current = toSelect;
-		
-		if (current != null) {
-			tabFolder.setSelection(indexOf(current));
-			current.setVisible(true);
-			setControlSize();
-
-		}
-
-		if (oldPart != null) {
-			oldPart.setVisible(false);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.Presentation#setBounds(org.eclipse.swt.graphics.Rectangle)
-	 */
-	public void setBounds(Rectangle bounds) {
-		tabFolder.setBounds(bounds);
-		setControlSize();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.Presentation#computeMinimumSize()
-	 */
-	public Point computeMinimumSize() {
-		return Geometry.getSize(tabFolder.computeTrim(0, 0, 0, 0));
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.Presentation#setVisible(boolean)
-	 */
-	public void setVisible(boolean isVisible) {
-		if (current != null) {
-			current.setVisible(isVisible);
-		}
-
-		getTabFolder().setVisible(isVisible);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.Presentation#setState(int)
-	 */
-	public void setState(int state) {
-		// tabFolder.setMinimized(state == IPresentationSite.STATE_MINIMIZED);
-		// tabFolder.setMaximized(state == IPresentationSite.STATE_MAXIMIZED);
-	}
-
-	/**
-	 * Returns the system menu manager.
-	 * 
-	 * @return the system menu manager
-	 */
-	public IMenuManager getSystemMenuManager() {
-		return systemMenuManager;
-	}
-
-	/**
-	 * Shows the system context menu at the specified location
-	 * 
-	 * @param point
-	 */
-	protected void showSystemMenu(Point point) {
-		Menu aMenu = systemMenuManager.createContextMenu(tabFolder.getParent());
-		systemMenuManager.update(true);
-		aMenu.setLocation(point.x, point.y);
-		aMenu.setVisible(true);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.Presentation#getControl()
-	 */
-	public Control getControl() {
-		return tabFolder;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.skins.StackPresentation#dragOver(org.eclipse.swt.widgets.Control,
-	 *      org.eclipse.swt.graphics.Point)
-	 */
-	public StackDropResult dragOver(Control currentControl, Point location) {
-
-		// Determine which tab we're currently dragging over
-		Point localPos = tabFolder.toControl(location);
-		final CTabItem tabUnderPointer = tabFolder.getItem(localPos);
-
-		// This drop target only deals with tabs... if we're not dragging over
-		// a tab, exit.
-		if (tabUnderPointer == null) {
-			return null;
-		}
-
-		// workaround when left tab is dragged over next
-		int dragOverIndex = tabFolder.indexOf(tabUnderPointer);
-
-		return new StackDropResult(Geometry.toDisplay(tabFolder,
-				tabUnderPointer.getBounds()), new Integer(dragOverIndex));
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.presentations.StackPresentation#showSystemMenu()
-	 */
-	public void showSystemMenu() {
-		if (null != current) {
-			// switch to the editor
-			CTabItem item = getTab(current);
-			getSite().selectPart(getCurrentPart());
-			Rectangle bounds = item.getBounds();
-			int y = bounds.height;
-			if (getTabFolder().getTabPosition() == SWT.BOTTOM) {
-				y += bounds.y;
-			}
-			showSystemMenu(getTabFolder().toDisplay(bounds.x, y));
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.presentations.StackPresentation#showPaneMenu()
-	 */
-	public void showPaneMenu() {
-		IPartMenu menu = getPartMenu();
-
-		if (null != menu) {
-			CTabItem tab = getTab(getCurrentPart());
-
-			if (null != tab && null != tab.getControl()) {
-				Rectangle bounds = DragUtil.getDisplayBounds(tab.getControl());
-				menu.showMenu(new Point(bounds.x, bounds.y + bounds.height));
-			}
-		}
-	}
-
-	/**
-	 * Returns the IPartMenu for the currently selected part, or null if the
-	 * current part does not have a menu.
-	 * 
-	 * @return the IPartMenu for the currently selected part or null if none
-	 */
-	protected IPartMenu getPartMenu() {
-		IPresentablePart part = getCurrentPart();
-		if (part == null) {
-			return null;
-		}
-
-		return part.getMenu();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.presentations.StackPresentation#getTabList(IPresentablePart)
-	 */
-	public Control[] getTabList(IPresentablePart part) {
-		ArrayList list = new ArrayList();
-		if (getControl() != null) {
-			list.add(getControl());
-		}
-		if (part.getToolBar() != null) {
-			list.add(part.getToolBar());
-		}
-		if (part.getControl() != null) {
-			list.add(part.getControl());
-		}
-		return (Control[]) list.toArray(new Control[list.size()]);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.presentations.StackPresentation#getCurrentPart()
-	 */
-	public IPresentablePart getCurrentPart() {
-		return current;
-	}
-
-	protected String getPaneName() {
-		return R21PresentationMessages.getString("EditorPane.moveEditor"); //$NON-NLS-1$ 
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.presentations.StackPresentation#setActive(int)
-	 */
-	public void setActive(int newState) {
-		activeState = newState;
-		updateGradient();
-	}
-	
-    /**
-     * Restores a presentation from a previously stored state
-     * 
-     * @param serializer (not null)
-     * @param savedState (not null)
-     */
-    public void restoreState(IPresentationSerializer serializer, IMemento savedState) {
-        IMemento[] parts = savedState.getChildren(IWorkbenchConstants.TAG_PART);
-        
-        for (int idx = 0; idx < parts.length; idx++) {
-            String id = parts[idx].getString(IWorkbenchConstants.TAG_ID);
-            
-            if (id != null) {
-                IPresentablePart part = serializer.getPart(id);
-                
-                if (part != null) {
-                    addPart(part, tabFolder.getItemCount());
-                }
-            } 
-        }
-    }
-    
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.presentations.StackPresentation#saveState(org.eclipse.ui.presentations.IPresentationSerializer, org.eclipse.ui.IMemento)
-     */
-    public void saveState(IPresentationSerializer context, IMemento memento) {
-        super.saveState(context, memento);
-        
-        List parts = getPresentableParts();
-        
-        Iterator iter = parts.iterator();
-        while (iter.hasNext()) {
-            IPresentablePart next = (IPresentablePart)iter.next();
-            
-            IMemento childMem = memento.createChild(IWorkbenchConstants.TAG_PART);
-            childMem.putString(IWorkbenchConstants.TAG_ID, context.getId(next));
-        }
-    }
-    
-    /**
-     * Returns the List of IPresentablePart currently in this presentation
-     */
-    private List getPresentableParts() {
-        Assert.isTrue(!isDisposed());
-        
-        CTabItem[] items = tabFolder.getItems();
-        List result = new ArrayList(items.length);
-        
-        for (int idx = 0; idx < tabFolder.getItemCount(); idx++) {
-            result.add(getPartForTab(items[idx]));
-        }
-        
-        return result;
-    }
-    }
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21PresentationFactory.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21PresentationFactory.java
deleted file mode 100644
index 04f2b83..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21PresentationFactory.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.StackPresentation;
-import org.eclipse.ui.presentations.WorkbenchPresentationFactory;
-
-/**
- * A presentation factory that creates a look similar to previous verisons of eclipse.
- */
-public class R21PresentationFactory extends WorkbenchPresentationFactory {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.presentations.AbstractPresentationFactory
-     */
-    public StackPresentation createEditorPresentation(Composite parent,
-            IStackPresentationSite site) {
-        return new R21EditorStackPresentation(parent, site);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.presentations.AbstractPresentationFactory
-     */
-    public StackPresentation createViewPresentation(Composite parent,
-            IStackPresentationSite site) {
-        return new R21ViewStackPresentation(parent, site);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.presentations.AbstractPresentationFactory
-     */
-    public StackPresentation createStandaloneViewPresentation(Composite parent,
-            IStackPresentationSite site, boolean showTitle) {
-        // TODO: honour showTitle
-        return new R21ViewStackPresentation(parent, site);
-    }
-
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21ViewStackPresentation.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21ViewStackPresentation.java
deleted file mode 100644
index 4afcb20..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21ViewStackPresentation.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.internal.IPreferenceConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.presentations.r21.R21PresentationMessages;
-import org.eclipse.ui.internal.presentations.r21.widgets.CTabFolderEvent;
-import org.eclipse.ui.internal.presentations.r21.widgets.R21PaneFolder;
-import org.eclipse.ui.internal.presentations.r21.widgets.R21PaneFolderButtonListener;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-
-/**
- * Controls the appearance of views stacked into the workbench.
- * 
- * @since 3.0
- */
-public class R21ViewStackPresentation extends R21BasicStackPresentation {
-
-    private static IPreferenceStore preferenceStore = WorkbenchPlugin.getDefault()
-            .getPreferenceStore();
-
-	// don't reset this dynamically, so just keep the information static.
-	// see bug:
-	//   75422 [Presentations] Switching presentation to R21 switches immediately, but only partially
-    private static int tabPos = preferenceStore.getInt(IPreferenceConstants.VIEW_TAB_POSITION);
-  
-    private R21PaneFolderButtonListener showListListener = new R21PaneFolderButtonListener() {
-
-        public void showList(CTabFolderEvent event) {
-            event.doit = false;
-            showListDefaultLocation();
-        }
-    };
-
-    /**
-	 * Create a new view stack presentation.
-	 *
-     * @param parent
-     * @param newSite
-     */
-    public R21ViewStackPresentation(Composite parent,
-            IStackPresentationSite newSite) {
-
-        super(new R21PaneFolder(parent, SWT.BORDER), newSite);
-        R21PaneFolder tabFolder = getPaneFolder();
-
-        tabFolder.addButtonListener(showListListener);
-
-        tabFolder.setTabPosition(tabPos);
-        updateGradient();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.internal.skins.Presentation#setActive(boolean)
-     */
-    public void setActive(boolean isActive) {
-        super.setActive(isActive);
-
-        updateGradient();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.internal.presentations.DefaultPartPresentation#getPartMenu()
-     */
-    protected String getPaneName() {
-        return R21PresentationMessages.getString("ViewPane.moveView"); //$NON-NLS-1$ 
-    }
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21Colors.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21Colors.java
deleted file mode 100644
index 8210df9..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21Colors.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21;
-
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * This class manages the R21 workbench colors (they are fixed).
- */
-public class R21Colors {
-
-    static private boolean init = false;
-
-    static private HashMap colorMap;
-
-    static private HashMap systemColorMap;
-
-    static private Color workbenchColors[];
-
-    static private Color[] activeViewGradient;
-
-    static private Color[] deactivatedViewGradient;
-
-    static private Color[] activeEditorGradient;
-
-    static private Color[] activeNoFocusEditorGradient;
-
-    static private Color[] deactivatedEditorGradient;
-
-    static private int[] activeViewPercentages;
-
-    static private int[] deactivatedViewPercentages;
-
-    static private int[] activeEditorPercentages;
-
-    static private int[] activeNoFocusEditorPercentages;
-
-    static private int[] deactivatedEditorPercentages;
-
-    static private final String CLR_VIEW_GRAD_START = "clrViewGradStart";//$NON-NLS-1$
-
-    static private final String CLR_VIEW_GRAD_END = "clrViewGradEnd";//$NON-NLS-1$
-
-    static private final String CLR_EDITOR_GRAD_START = "clrEditorGradStart";//$NON-NLS-1$
-
-    static private final String CLR_EDITOR_GRAD_END = "clrEditorGradEnd";//$NON-NLS-1$
-
-    /**
-     * Dispose all color pre-allocated by the workbench.
-     */
-    private static void disposeWorkbenchColors() {
-        for (int i = 0; i < workbenchColors.length; i++) {
-            workbenchColors[i].dispose();
-        }
-    }
-
-    /**
-     * Returns the active editor gradient.
-     */
-    static public Color[] getActiveEditorGradient() {
-        return activeEditorGradient;
-    }
-
-    /**
-     * Returns the active editor gradient end color.
-     */
-    static public Color getActiveEditorGradientEnd() {
-        Color clr = (Color) systemColorMap.get(CLR_EDITOR_GRAD_END);
-        Assert.isNotNull(clr);
-        return clr;
-    }
-
-    /**
-     * Returns the active editor gradient percents.
-     */
-    static public int[] getActiveEditorGradientPercents() {
-        return activeEditorPercentages;
-    }
-
-    /**
-     * Returns the active editor gradient start color.
-     */
-    static public Color getActiveEditorGradientStart() {
-        Color clr = (Color) systemColorMap.get(CLR_EDITOR_GRAD_START);
-        Assert.isNotNull(clr);
-        return clr;
-    }
-
-    /**
-     * Returns the active no focus editor gradient.
-     */
-    static public Color[] getActiveNoFocusEditorGradient() {
-        return activeNoFocusEditorGradient;
-    }
-
-    /**
-     * Returns the active no focus editor gradient percents.
-     */
-    static public int[] getActiveNoFocusEditorGradientPercents() {
-        return activeNoFocusEditorPercentages;
-    }
-
-    /**
-     * Returns the active gradient for views.
-     */
-    static public Color[] getActiveViewGradient() {
-        return activeViewGradient;
-    }
-
-    /**
-     * Returns the active view gradient end color.
-     */
-    static public Color getActiveViewGradientEnd() {
-        Color clr = (Color) systemColorMap.get(CLR_VIEW_GRAD_END);
-        Assert.isNotNull(clr);
-        return clr;
-    }
-
-    /**
-     * Returns the active view gradient percents.
-     */
-    static public int[] getActiveViewGradientPercents() {
-        return activeViewPercentages;
-    }
-
-    /**
-     * Returns the active view gradient start color.
-     */
-    static public Color getActiveViewGradientStart() {
-        Color clr = (Color) systemColorMap.get(CLR_VIEW_GRAD_START);
-        Assert.isNotNull(clr);
-        return clr;
-    }
-
-    /**
-     * Returns the gradient for editors when the window is deactivated.
-     */
-    static public Color[] getDeactivatedEditorGradient() {
-        return deactivatedEditorGradient;
-    }
-
-    /**
-     * Returns the editor gradient percents when the window is deactivated.
-     */
-    static public int[] getDeactivatedEditorGradientPercents() {
-        return deactivatedEditorPercentages;
-    }
-
-    /**
-     * Returns the gradient for views when the window is deactivated.
-     */
-    static public Color[] getDeactivatedViewGradient() {
-        return deactivatedViewGradient;
-    }
-
-    /**
-     * Returns the view gradient percents when the window is deactivated.
-     */
-    static public int[] getDeactivatedViewGradientPercents() {
-        return deactivatedViewPercentages;
-    }
-
-    /**
-     * Returns a color identified by an RGB value.
-     */
-    static public Color getColor(RGB rgbValue) {
-        Color clr = (Color) colorMap.get(rgbValue);
-        if (clr == null) {
-            Display disp = Display.getDefault();
-            clr = new Color(disp, rgbValue);
-            colorMap.put(rgbValue, clr);
-        }
-        return clr;
-    }
-
-    /**
-     * Returns a system color identified by a SWT constant.
-     */
-    static public Color getSystemColor(int swtId) {
-        Integer bigInt = new Integer(swtId);
-        Color clr = (Color) systemColorMap.get(bigInt);
-        if (clr == null) {
-            Display disp = Display.getDefault();
-            clr = disp.getSystemColor(swtId);
-            systemColorMap.put(bigInt, clr);
-        }
-        return clr;
-    }
-
-    /**
-     * Initialize all colors used in the workbench in case the OS is using a 256
-     * color palette making sure the workbench colors are allocated.
-     * 
-     * This list comes from the designers.
-     */
-    private static void initWorkbenchColors(Display d) {
-        if (workbenchColors != null) {
-			return;
-		}
-
-        workbenchColors = new Color[] {
-        //Product pallet
-                new Color(d, 255, 255, 255), new Color(d, 255, 251, 240),
-                new Color(d, 223, 223, 191), new Color(d, 223, 191, 191),
-                new Color(d, 192, 220, 192), new Color(d, 192, 192, 192),
-                new Color(d, 191, 191, 191), new Color(d, 191, 191, 159),
-                new Color(d, 191, 159, 191), new Color(d, 160, 160, 164),
-                new Color(d, 159, 159, 191), new Color(d, 159, 159, 159),
-                new Color(d, 159, 159, 127), new Color(d, 159, 127, 159),
-                new Color(d, 159, 127, 127), new Color(d, 128, 128, 128),
-                new Color(d, 127, 159, 159), new Color(d, 127, 159, 127),
-                new Color(d, 127, 127, 159), new Color(d, 127, 127, 127),
-                new Color(d, 127, 127, 95), new Color(d, 127, 95, 127),
-                new Color(d, 127, 95, 95), new Color(d, 95, 127, 127),
-                new Color(d, 95, 127, 95), new Color(d, 95, 95, 127),
-                new Color(d, 95, 95, 95), new Color(d, 95, 95, 63),
-                new Color(d, 95, 63, 95), new Color(d, 95, 63, 63),
-                new Color(d, 63, 95, 95), new Color(d, 63, 95, 63),
-                new Color(d, 63, 63, 95), new Color(d, 0, 0, 0),
-                //wizban pallet
-                new Color(d, 195, 204, 224), new Color(d, 214, 221, 235),
-                new Color(d, 149, 168, 199), new Color(d, 128, 148, 178),
-                new Color(d, 106, 128, 158), new Color(d, 255, 255, 255),
-                new Color(d, 0, 0, 0), new Color(d, 0, 0, 0),
-                //Perspective
-                new Color(d, 132, 130, 132), new Color(d, 143, 141, 138),
-                new Color(d, 171, 168, 165),
-                //PreferenceDialog and TitleAreaDialog
-                new Color(d, 230, 226, 221) };
-    }
-
-    /**
-     * Disposes of the colors. Ignore all system colors as they do not need to
-     * be disposed.
-     */
-    static public void shutdown() {
-        if (!init) {
-			return;
-		}
-
-        disposeWorkbenchColors();
-
-        Iterator iter = colorMap.values().iterator();
-        while (iter.hasNext()) {
-            Color clr = (Color) iter.next();
-            if (clr != null) {
-                clr.dispose();
-            }
-        }
-
-        colorMap.clear();
-        systemColorMap.clear();
-        init = false;
-    }
-
-    /**
-     * Initializes the colors.
-     */
-    static public void startup() {
-        if (init) {
-			return;
-		}
-
-        // Initialize the caches first.
-        init = true;
-        colorMap = new HashMap(10);
-        systemColorMap = new HashMap(10);
-
-        initWorkbenchColors(Display.getDefault());
-        // Define active view gradient using same OS title gradient colors.
-        Color clr1 = getSystemColor(SWT.COLOR_TITLE_BACKGROUND);
-        Color clr2 = getSystemColor(SWT.COLOR_TITLE_BACKGROUND_GRADIENT);
-        Color clr3 = getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-        systemColorMap.put(CLR_VIEW_GRAD_START, clr1);
-        systemColorMap.put(CLR_VIEW_GRAD_END, clr3);
-        activeViewGradient = new Color[] { clr1, clr2, clr3 };
-        activeViewPercentages = new int[] { 50, 100 };
-
-        // Define active editor gradient using same OS title gradient colors.
-        systemColorMap.put(CLR_EDITOR_GRAD_START, clr1);
-        systemColorMap.put(CLR_EDITOR_GRAD_END, null); // use widget default
-        // background
-        activeEditorGradient = new Color[] { clr1, clr2, null, null };
-        activeEditorPercentages = new int[] { 50, 90, 100 };
-
-        // Define active no focus editor gradient
-        activeNoFocusEditorGradient = new Color[] { getSystemColor(SWT.COLOR_LIST_BACKGROUND) };
-        activeNoFocusEditorPercentages = new int[0];
-
-        // Define view gradient for deactivated window using same OS title
-        // gradient colors.
-        clr1 = getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND);
-        clr2 = getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT);
-        clr3 = getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-        deactivatedViewGradient = new Color[] { clr1, clr2, clr3 };
-        deactivatedViewPercentages = new int[] { 70, 100 };
-
-        // Define editor gradient for deactivated window using same OS title
-        // gradient colors.
-        deactivatedEditorGradient = new Color[] { clr1, clr2, null, null };
-        deactivatedEditorPercentages = new int[] { 70, 95, 100 };
-
-        // Preload.
-        getSystemColor(SWT.COLOR_WIDGET_FOREGROUND);
-        getSystemColor(SWT.COLOR_BLACK);
-    }
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationMessages.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationMessages.java
deleted file mode 100644
index 9ef639c..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationMessages.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21;
-
-import com.ibm.icu.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- */
-public abstract class R21PresentationMessages {
-
-    private static final String RESOURCE_BUNDLE = "org.eclipse.ui.internal.presentations.r21.messages"; //$NON-NLS-1$
-
-    private static ResourceBundle bundle = ResourceBundle
-            .getBundle(RESOURCE_BUNDLE);
-
-    /**
-     * Returns the formatted message for the given key in the resource bundle.
-     * 
-     * @param key
-     *            the resource name
-     * @param args
-     *            the message arguments
-     * @return the string
-     */
-    public static String format(String key, Object[] args) {
-        return MessageFormat.format(getString(key), args);
-    }
-
-    /**
-     * Returns the resource object with the given key in the resource bundle. If
-     * there isn't any value under the given key, the key is returned.
-     * 
-     * @param key
-     *            the resource name
-     * @return the string
-     */
-    public static String getString(String key) {
-        try {
-            return bundle.getString(key);
-        } catch (MissingResourceException e) {
-            return key;
-        }
-    }
-
-    /**
-     * Returns the resource object with the given key in the resource bundle. If
-     * there isn't any value under the given key, the default value is returned.
-     * 
-     * @param key
-     *            the resource name
-     * @param def
-     *            the default value
-     * @return the string
-     */
-    public static String getString(String key, String def) {
-        try {
-            return bundle.getString(key);
-        } catch (MissingResourceException e) {
-            return def;
-        }
-    }
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationPlugin.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationPlugin.java
deleted file mode 100644
index 72128e1..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationPlugin.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class R21PresentationPlugin extends AbstractUIPlugin {
-    //The shared instance.
-    private static R21PresentationPlugin plugin;
-
-    //Resource bundle.
-    private ResourceBundle resourceBundle;
-
-    /**
-     * The constructor.
-     */
-    public R21PresentationPlugin() {
-        super();
-        plugin = this;
-        try {
-            resourceBundle = ResourceBundle
-                    .getBundle("org.eclipse.ui.internal.r21presentation.R21lookPluginResources"); //$NON-NLS-1$
-        } catch (MissingResourceException x) {
-            resourceBundle = null;
-        }
-    }
-
-    /**
-     * Returns the shared instance.
-     */
-    public static R21PresentationPlugin getDefault() {
-        return plugin;
-    }
-
-    /**
-     * Returns the string from the plugin's resource bundle,
-     * or 'key' if not found.
-     */
-    public static String getResourceString(String key) {
-        ResourceBundle bundle = R21PresentationPlugin.getDefault()
-                .getResourceBundle();
-        try {
-            return (bundle != null) ? bundle.getString(key) : key;
-        } catch (MissingResourceException e) {
-            return key;
-        }
-    }
-
-    /**
-     * Returns the plugin's resource bundle,
-     */
-    public ResourceBundle getResourceBundle() {
-        return resourceBundle;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
-     */
-    public void start(BundleContext context) throws Exception {
-        super.start(context);
-        R21Colors.startup();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-     */
-    public void stop(BundleContext context) throws Exception {
-        super.stop(context);
-        R21Colors.shutdown();
-    }
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/messages.properties b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/messages.properties
deleted file mode 100644
index db4b916..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/messages.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-# package: org.eclipse.ui.internal.r21presentation
-
-BasicStackPresentation.menu.tooltip=Menu
-BasicStackPresentation.close.tooltip=Close
-BasicStackPresentation.pane=&Pane
-
-ViewPane.moveView=&View
-EditorPane.moveEditor=&Editor
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolder.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolder.java
deleted file mode 100644
index 868ade2..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolder.java
+++ /dev/null
@@ -1,2567 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.accessibility.Accessible;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlEvent;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.events.SelectionListener;
-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.ImageData;
-import org.eclipse.swt.graphics.PaletteData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.swt.widgets.TypedListener;
-
-/**
- * Instances of this class implement the notebook user interface
- * metaphor.  It allows the user to select a notebook page from
- * set of pages.
- * <p>
- * The item children that may be added to instances of this class
- * must be of type <code>CTabItem</code>.
- * <code>Control</code> children are created and then set into a
- * tab item using <code>CTabItem#setControl</code>.
- * </p><p>
- * Note that although this class is a subclass of <code>Composite</code>,
- * it does not make sense to set a layout on it.
- * </p><p>
- * <dl>
- * <dt><b>Styles:</b></dt>
- * <dd>TOP, BOTTOM, FLAT</dd>
- * <dt><b>Events:</b></dt>
- * <dd>Selection</dd>
- * <dd>"CTabFolder"</dd>
- * </dl>
- * <p>
- * Note: Only one of the styles TOP and BOTTOM 
- * may be specified.
- * </p><p>
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- * </p>
- */
-
-public class CTabFolder extends Composite {
-
-    /**
-     * marginWidth specifies the number of pixels of horizontal margin
-     * that will be placed along the left and right edges of the form.
-     *
-     * The default value is 0.
-     */
-    public int marginWidth = 0;
-
-    /**
-     * marginHeight specifies the number of pixels of vertical margin
-     * that will be placed along the top and bottom edges of the form.
-     *
-     * The default value is 0.
-     */
-    public int marginHeight = 0;
-
-    /**
-     * Color of innermost line of drop shadow border.
-     */
-    public static RGB borderInsideRGB = new RGB(132, 130, 132);
-
-    /**
-     * Color of middle line of drop shadow border.
-     */
-    public static RGB borderMiddleRGB = new RGB(143, 141, 138);
-
-    /**
-     * Color of outermost line of drop shadow border.
-     */
-    public static RGB borderOutsideRGB = new RGB(171, 168, 165);
-
-    /*
-     * A multiple of the tab height that specifies the minimum width to which a tab 
-     * will be compressed before scrolling arrows are used to navigate the tabs.
-     */
-    public int MIN_TAB_WIDTH = 3;
-
-    /* sizing, positioning */
-    int xClient, yClient;
-
-    boolean onBottom = false;
-
-    boolean fixedTabHeight;
-
-    int tabHeight;
-
-    /* item management */
-    private CTabItem items[] = new CTabItem[0];
-
-    private int selectedIndex = -1;
-
-    int topTabIndex = -1; // index of the left most visible tab.
-
-    /* External Listener management */
-    private CTabFolderListener[] tabListeners = new CTabFolderListener[0];
-
-    /* Color appearance */
-    Image backgroundImage;
-
-    Color[] gradientColors;
-
-    int[] gradientPercents;
-
-    Color selectionForeground;
-
-    Color background;
-
-    // internal constants
-    private static final int DEFAULT_WIDTH = 64;
-
-    private static final int DEFAULT_HEIGHT = 64;
-
-    // scrolling arrows
-    private ToolBar arrowBar;
-
-    private Image arrowLeftImage;
-
-    private Image arrowRightImage;
-
-    private Control topRight;
-
-    // close button
-    boolean showClose = false;
-
-    private Image closeImage;
-
-    ToolBar closeBar;
-
-    private ToolBar inactiveCloseBar;
-
-    private CTabItem inactiveItem;
-
-    // borders
-    boolean showBorders = false;
-
-    private int borderBottom = 0;
-
-    private int borderLeft = 0;
-
-    private int borderRight = 0;
-
-    private int borderTop = 0;
-
-    private Color borderColor1;
-
-    private Color borderColor2;
-
-    private Color borderColor3;
-
-    // when disposing CTabFolder, don't try to layout the items or 
-    // change the selection as each child is destroyed.
-    private boolean inDispose = false;
-
-    // keep track of size changes in order to redraw only affected area
-    // on Resize
-    private Point oldSize;
-
-    private Font oldFont;
-
-    // insertion marker
-    int insertionIndex = -2; // Index of insert marker.  Marker always shown after index.
-
-    // -2 means no insert marker
-
-    // tool tip
-    private Shell tip;
-
-    private Label label;
-
-    private boolean showToolTip = false;
-
-    private CTabItem toolTipItem;
-
-    /**
-     * Constructs a new instance of this class given its parent
-     * and a style value describing its behavior and appearance.
-     * <p>
-     * The style value is either one of the style constants defined in
-     * class <code>SWT</code> which is applicable to instances of this
-     * class, or must be built by <em>bitwise OR</em>'ing together 
-     * (that is, using the <code>int</code> "|" operator) two or more
-     * of those <code>SWT</code> style constants. The class description
-     * lists the style constants that are applicable to the class.
-     * Style bits are also inherited from superclasses.
-     * </p>
-     *
-     * @param parent a widget which will be the parent of the new instance (cannot be null)
-     * @param style the style of widget to construct
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
-     * </ul>
-     *
-     * @see SWT#TOP
-     * @see SWT#BOTTOM
-     * @see SWT#FLAT
-     * @see #getStyle()
-     */
-    public CTabFolder(Composite parent, int style) {
-        super(parent, checkStyle(style));
-
-        onBottom = (getStyle() & SWT.BOTTOM) != 0;
-
-        borderColor1 = new Color(getDisplay(), borderInsideRGB);
-        borderColor2 = new Color(getDisplay(), borderMiddleRGB);
-        borderColor3 = new Color(getDisplay(), borderOutsideRGB);
-
-        // tool tip support
-        tip = new Shell(getShell(), SWT.ON_TOP);
-        label = new Label(tip, SWT.CENTER);
-
-        // Add all listeners
-        Listener listener = new Listener() {
-            public void handleEvent(Event event) {
-                switch (event.type) {
-                case SWT.Dispose:
-                    onDispose();
-                    break;
-                case SWT.Paint:
-                    onPaint(event);
-                    break;
-                case SWT.Resize:
-                    onResize();
-                    break;
-                case SWT.MouseDoubleClick:
-                    onMouseDoubleClick(event);
-                    break;
-                case SWT.MouseDown:
-                    onMouseDown(event);
-                    break;
-                case SWT.MouseExit:
-                    onMouseExit(event);
-                    break;
-                case SWT.MouseHover:
-                    onMouseHover(event);
-                    break;
-                case SWT.MouseMove:
-                    onMouseMove(event);
-                    break;
-                case SWT.FocusIn:
-                    onFocus(event);
-                    break;
-                case SWT.FocusOut:
-                    onFocus(event);
-                    break;
-                case SWT.KeyDown:
-                    onKeyDown(event);
-                    break;
-                case SWT.Traverse:
-                    onTraverse(event);
-                    break;
-                }
-            }
-        };
-
-        int[] folderEvents = new int[] { SWT.Dispose, SWT.Paint, SWT.Resize,
-                SWT.MouseDoubleClick, SWT.MouseDown, SWT.MouseExit,
-                SWT.MouseHover, SWT.MouseMove, SWT.FocusIn, SWT.FocusOut,
-                SWT.KeyDown, SWT.Traverse, };
-        for (int i = 0; i < folderEvents.length; i++) {
-            addListener(folderEvents[i], listener);
-        }
-
-        createArrowBar();
-        createCloseBar();
-
-        setBorderVisible((style & SWT.BORDER) != 0);
-
-        initAccessible();
-
-    }
-
-    private static int checkStyle(int style) {
-        int mask = SWT.TOP | SWT.BOTTOM | SWT.FLAT | SWT.LEFT_TO_RIGHT
-                | SWT.RIGHT_TO_LEFT;
-        style = style & mask;
-        // TOP and BOTTOM are mutually exlusive.
-        // TOP is the default
-        if ((style & SWT.TOP) != 0) {
-			style = style & ~(SWT.TOP | SWT.BOTTOM) | SWT.TOP;
-		}
-        // reduce the flash by not redrawing the entire area on a Resize event
-        style |= SWT.NO_REDRAW_RESIZE;
-        return style;
-    }
-
-    /**	 
-     * Adds the listener to receive events.
-     * <p>
-     *
-     * @param listener the listener
-     *
-     * @exception SWTError <ul>
-     *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
-     *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
-     * 		<li>ERROR_NULL_ARGUMENT when listener is null</li>
-     *	</ul>
-     */
-    public void addSelectionListener(SelectionListener listener) {
-        checkWidget();
-        if (listener == null) {
-            SWT.error(SWT.ERROR_NULL_ARGUMENT);
-        }
-        TypedListener typedListener = new TypedListener(listener);
-        addListener(SWT.Selection, typedListener);
-        addListener(SWT.DefaultSelection, typedListener);
-    }
-
-    /**
-     * Adds the listener to the collection of listeners who will
-     * be notified when a tab item is closed.
-     *
-     * @param listener the listener which should be notified
-     *
-     * @exception IllegalArgumentException <ul>
-     *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
-     *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
-     *      <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-     * </ul>
-     *
-     * @see CTabFolderListener
-     * @see #removeCTabFolderListener
-     */
-    public void addCTabFolderListener(CTabFolderListener listener) {
-        checkWidget();
-        if (listener == null) {
-			SWT.error(SWT.ERROR_NULL_ARGUMENT);
-		}
-        // add to array
-        CTabFolderListener[] newTabListeners = new CTabFolderListener[tabListeners.length + 1];
-        System.arraycopy(tabListeners, 0, newTabListeners, 0,
-                tabListeners.length);
-        tabListeners = newTabListeners;
-        tabListeners[tabListeners.length - 1] = listener;
-        showClose = true;
-        setButtonBounds();
-    }
-
-    private void closeNotify(CTabItem item, int time) {
-        if (item == null) {
-			return;
-		}
-
-        CTabFolderEvent event = new CTabFolderEvent(this);
-        event.widget = this;
-        event.time = time;
-        event.item = item;
-        event.doit = true;
-        if (tabListeners != null) {
-            for (int i = 0; i < tabListeners.length; i++) {
-                tabListeners[i].itemClosed(event);
-            }
-        }
-        if (event.doit) {
-            item.dispose();
-        }
-    }
-
-    public Point computeSize(int wHint, int hHint, boolean changed) {
-        checkWidget();
-        int minWidth = 0;
-        int minHeight = 0;
-
-        // preferred width of tab area to show all tabs
-        GC gc = new GC(this);
-        for (int i = 0; i < items.length; i++) {
-            minWidth += items[i].preferredWidth(gc);
-        }
-        gc.dispose();
-
-        // preferred size of controls in tab items
-        for (int i = 0; i < items.length; i++) {
-            Control control = items[i].getControl();
-            if (control != null && !control.isDisposed()) {
-                Point size = control.computeSize(wHint, hHint);
-                minWidth = Math.max(minWidth, size.x);
-                minHeight = Math.max(minHeight, size.y);
-            }
-        }
-        if (minWidth == 0) {
-			minWidth = DEFAULT_WIDTH;
-		}
-        if (minHeight == 0) {
-			minHeight = DEFAULT_HEIGHT;
-		}
-
-        if (wHint != SWT.DEFAULT) {
-			minWidth = wHint;
-		}
-        if (hHint != SWT.DEFAULT) {
-			minHeight = hHint;
-		}
-
-        Rectangle trim = computeTrim(0, 0, minWidth, minHeight);
-        return new Point(trim.width, trim.height);
-    }
-
-    public Rectangle computeTrim(int x, int y, int width, int height) {
-        checkWidget();
-        if (items.length == 0) {
-            if (!showBorders) {
-				return new Rectangle(x, y, width, height);
-			}
-            int trimX = x - borderRight - 1;
-            int trimY = y - borderBottom - 1;
-            int trimWidth = width + borderRight + 2;
-            int trimHeight = height + borderBottom + 2;
-            return new Rectangle(trimX, trimY, trimWidth, trimHeight);
-        } else {
-            int trimX = x - marginWidth - borderLeft;
-            int trimY = y - marginHeight - tabHeight - borderTop - 1;
-            // -1 is for the line at the bottom of the tabs
-            if (onBottom) {
-                trimY = y - marginHeight - borderTop;
-            }
-            int trimWidth = width + borderLeft + borderRight + 2 * marginWidth;
-            int trimHeight = height + borderTop + borderBottom + 2
-                    * marginHeight + tabHeight + 1;
-            return new Rectangle(trimX, trimY, trimWidth, trimHeight);
-        }
-    }
-
-    /**
-     * Create the specified item at 'index'.
-     */
-    void createItem(CTabItem item, int index) {
-        if (0 > index || index > getItemCount()) {
-            SWT.error(SWT.ERROR_INVALID_RANGE);
-        }
-        // grow by one and rearrange the array.
-        CTabItem[] newItems = new CTabItem[items.length + 1];
-        System.arraycopy(items, 0, newItems, 0, index);
-        newItems[index] = item;
-        System.arraycopy(items, index, newItems, index + 1, items.length
-                - index);
-        items = newItems;
-
-        item.parent = this;
-
-        if (selectedIndex >= index) {
-            selectedIndex++;
-        }
-        if (items.length == 1) {
-            topTabIndex = 0;
-            resetTabSize(true);
-        } else {
-            setItemBounds();
-            showItem(item);
-        }
-
-        if (items.length == 1) {
-            redraw();
-        } else {
-            redrawTabArea(-1);
-        }
-    }
-
-    private void createArrowBar() {
-        // create arrow buttons for scrolling 
-        arrowBar = new ToolBar(this, SWT.FLAT);
-        arrowBar.setVisible(false);
-        arrowBar.setBackground(background);
-        ToolItem scrollLeft = new ToolItem(arrowBar, SWT.PUSH);
-        scrollLeft.setEnabled(false);
-        ToolItem scrollRight = new ToolItem(arrowBar, SWT.PUSH);
-        scrollRight.setEnabled(false);
-
-        scrollLeft.addListener(SWT.Selection, new Listener() {
-            public void handleEvent(Event event) {
-                scroll_scrollLeft();
-            }
-        });
-        scrollRight.addListener(SWT.Selection, new Listener() {
-            public void handleEvent(Event event) {
-                scroll_scrollRight();
-            }
-        });
-
-    }
-
-    private void createCloseBar() {
-        closeBar = new ToolBar(this, SWT.FLAT);
-        closeBar.setVisible(false);
-        if (gradientColors != null && gradientColors.length > 0) {
-            closeBar.setBackground(gradientColors[gradientColors.length - 1]);
-        } else {
-            closeBar.setBackground(background);
-        }
-        ToolItem closeItem = new ToolItem(closeBar, SWT.PUSH);
-
-        inactiveCloseBar = new ToolBar(this, SWT.FLAT);
-        inactiveCloseBar.setVisible(false);
-        inactiveCloseBar.setBackground(background);
-        ToolItem inactiveCloseItem = new ToolItem(inactiveCloseBar, SWT.PUSH);
-
-        closeItem.addListener(SWT.Selection, new Listener() {
-            public void handleEvent(Event event) {
-                closeNotify(getSelection(), event.time);
-            }
-        });
-        inactiveCloseItem.addListener(SWT.Selection, new Listener() {
-            public void handleEvent(Event event) {
-                closeNotify(inactiveItem, event.time);
-                inactiveCloseBar.setVisible(false);
-                inactiveItem = null;
-            }
-        });
-        inactiveCloseBar.addListener(SWT.MouseExit, new Listener() {
-            public void handleEvent(Event event) {
-                if (inactiveItem != null) {
-                    Rectangle itemBounds = inactiveItem.getBounds();
-                    if (itemBounds.contains(event.x, event.y)) {
-						return;
-					}
-                }
-                inactiveCloseBar.setVisible(false);
-                inactiveItem = null;
-            }
-        });
-
-    }
-
-    /**
-     * Destroy the specified item.
-     */
-    void destroyItem(CTabItem item) {
-        if (inDispose) {
-			return;
-		}
-
-        int index = indexOf(item);
-        if (index == -1) {
-			return; // should this trigger an error?
-		}
-
-        insertionIndex = -2;
-
-        if (items.length == 1) {
-            items = new CTabItem[0];
-            selectedIndex = -1;
-            topTabIndex = 0;
-
-            Control control = item.getControl();
-            if (control != null && !control.isDisposed()) {
-                control.setVisible(false);
-            }
-            closeBar.setVisible(false);
-            if (!fixedTabHeight) {
-				tabHeight = 0;
-			}
-            redraw();
-            return;
-        }
-
-        // shrink by one and rearrange the array.
-        CTabItem[] newItems = new CTabItem[items.length - 1];
-        System.arraycopy(items, 0, newItems, 0, index);
-        System.arraycopy(items, index + 1, newItems, index, items.length
-                - index - 1);
-        items = newItems;
-
-        if (topTabIndex == items.length) {
-            --topTabIndex;
-        }
-
-        // move the selection if this item is selected
-        if (selectedIndex == index) {
-            Control control = item.getControl();
-            if (control != null && !control.isDisposed()) {
-                control.setVisible(false);
-            }
-            selectedIndex = -1;
-            setSelection(Math.max(0, index - 1), true);
-        } else if (selectedIndex > index) {
-            selectedIndex--;
-        }
-
-        setItemBounds();
-        redrawTabArea(-1);
-    }
-
-    private void onKeyDown(Event e) {
-        if (e.keyCode != SWT.ARROW_LEFT && e.keyCode != SWT.ARROW_RIGHT) {
-			return;
-		}
-        int leadKey = (getStyle() & SWT.MIRRORED) != 0 ? SWT.ARROW_RIGHT
-                : SWT.ARROW_LEFT;
-        if (e.keyCode == leadKey) {
-            if (selectedIndex > 0) {
-                setSelection(selectedIndex - 1, true);
-            }
-        } else {
-            if (selectedIndex < items.length - 1) {
-                setSelection(selectedIndex + 1, true);
-            }
-        }
-    }
-
-    /**
-     * Dispose the items of the receiver
-     */
-    private void onDispose() {
-        /*
-         * Usually when an item is disposed, destroyItem will change the size of the items array, 
-         * reset the bounds of all the tabs and manage the widget associated with the tab.
-         * Since the whole folder is being disposed, this is not necessary.  For speed
-         * the inDispose flag is used to skip over this part of the item dispose.
-         */
-        inDispose = true;
-
-        int length = items.length;
-        for (int i = 0; i < length; i++) {
-            if (items[i] != null) {
-                items[i].dispose();
-            }
-        }
-
-        // clean up resources
-        if (tip != null && !tip.isDisposed()) {
-            tip.dispose();
-            tip = null;
-            label = null;
-        }
-
-        if (arrowLeftImage != null) {
-			arrowLeftImage.dispose();
-		}
-        arrowLeftImage = null;
-        if (arrowRightImage != null) {
-			arrowRightImage.dispose();
-		}
-        arrowRightImage = null;
-        if (closeImage != null) {
-			closeImage.dispose();
-		}
-        closeImage = null;
-
-        gradientColors = null;
-        gradientPercents = null;
-        backgroundImage = null;
-
-        if (borderColor1 != null) {
-			borderColor1.dispose();
-		}
-        borderColor1 = null;
-
-        if (borderColor2 != null) {
-			borderColor2.dispose();
-		}
-        borderColor2 = null;
-
-        if (borderColor3 != null) {
-			borderColor3.dispose();
-		}
-        borderColor3 = null;
-    }
-
-    private void onFocus(Event e) {
-        checkWidget();
-        if (selectedIndex >= 0) {
-            redrawTabArea(selectedIndex);
-        } else {
-            setSelection(0, true);
-        }
-    }
-
-    /** 
-     * Draw a border around the receiver.
-     */
-    private void drawBorder(GC gc) {
-
-        Rectangle d = super.getClientArea();
-
-        if (showBorders) {
-            if ((getStyle() & SWT.FLAT) != 0) {
-                gc.setForeground(borderColor1);
-                gc.drawRectangle(d.x, d.y, d.x + d.width - 1, d.y + d.height
-                        - 1);
-            } else {
-                gc.setForeground(borderColor1);
-                gc.drawRectangle(d.x, d.y, d.x + d.width - 3, d.y + d.height
-                        - 3);
-
-                gc.setForeground(borderColor2);
-                gc.drawLine(d.x + 1, d.y + d.height - 2, d.x + d.width - 1, d.y
-                        + d.height - 2);
-                gc.drawLine(d.x + d.width - 2, d.y + 1, d.x + d.width - 2, d.y
-                        + d.height - 1);
-
-                gc.setForeground(borderColor3);
-                gc.drawLine(d.x + 2, d.y + d.height - 1, d.x + d.width - 2, d.y
-                        + d.height - 1);
-                gc.drawLine(d.x + d.width - 1, d.y + 2, d.x + d.width - 1, d.y
-                        + d.height - 2);
-
-                // fill in corners with parent's background
-                gc.setForeground(getParent().getBackground());
-                gc.drawLine(d.x + d.width - 2, d.y, d.x + d.width - 1, d.y);
-                gc.drawLine(d.x + d.width - 1, d.y + 1, d.x + d.width - 1,
-                        d.y + 1);
-
-                gc.drawLine(d.x, d.y + d.height - 2, d.x, d.y + d.height - 2);
-                gc.drawLine(d.x, d.y + d.height - 1, d.x + 1, d.y + d.height
-                        - 1);
-
-                gc.drawLine(d.x + d.width - 1, d.y + d.height - 1, d.x
-                        + d.width - 1, d.y + d.height - 1);
-            }
-
-        }
-
-        // draw a separator line
-        if (items.length > 0) {
-            int lineY = d.y + borderTop + tabHeight;
-            if (onBottom) {
-                lineY = d.y + d.height - borderBottom - tabHeight - 1;
-            }
-            gc.setForeground(borderColor1);
-            gc.drawLine(d.x + borderLeft, lineY, d.x + d.width - borderRight,
-                    lineY);
-        }
-
-        gc.setForeground(getForeground());
-    }
-
-    public Rectangle getClientArea() {
-        checkWidget();
-        Point size = getSize();
-        if (items.length == 0) {
-            if (!showBorders) {
-				return super.getClientArea();
-			}
-            int width = size.x - borderRight - 2;
-            int height = size.y - borderBottom - 2;
-            return new Rectangle(borderRight + 1, borderBottom + 1, width,
-                    height);
-        } else {
-            int width = size.x - 2 * marginWidth - borderLeft - borderRight;
-            int height = size.y - 2 * marginHeight - borderTop - borderBottom
-                    - tabHeight - 1;
-            return new Rectangle(xClient, yClient, width, height);
-        }
-    }
-
-    /**
-     * Returns the height of the tab
-     * 
-     * @return the height of the tab
-     * 
-     * @exception SWTError <ul>
-     *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
-     *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
-     *	</ul>
-     */
-    public int getTabHeight() {
-        checkWidget();
-        return tabHeight;
-    }
-
-    /**
-     * Return the tab that is located at the specified index.
-     * 
-     * @return the item at the specified index
-     */
-    public CTabItem getItem(int index) {
-        //checkWidget();
-        if (index < 0 || index >= items.length) {
-			SWT.error(SWT.ERROR_INVALID_RANGE);
-		}
-        return items[index];
-    }
-
-    /**
-     * Gets the item at a point in the widget.
-     * <p>
-     *
-     * @return the item at a point
-     */
-    public CTabItem getItem(Point pt) {
-        //checkWidget();
-        if (items.length == 0) {
-			return null;
-		}
-        int lastItem = getLastItem();
-        lastItem = Math.min(items.length - 1, lastItem + 1);
-        for (int i = topTabIndex; i <= lastItem; i++) {
-            Rectangle bounds = items[i].getBounds();
-            if (bounds.contains(pt)) {
-				return items[i];
-			}
-        }
-        return null;
-    }
-
-    /**
-     * Return the number of tabs in the folder.
-     * 
-     * @return the number of tabs in the folder
-     */
-    public int getItemCount() {
-        //checkWidget();
-        return items.length;
-    }
-
-    /**
-     * Return the tab items.
-     * 
-     * @return the tab items
-     */
-    public CTabItem[] getItems() {
-        //checkWidget();
-        CTabItem[] tabItems = new CTabItem[items.length];
-        System.arraycopy(items, 0, tabItems, 0, items.length);
-        return tabItems;
-    }
-
-    private int getLastItem() {
-        if (items.length == 0) {
-			return -1;
-		}
-        Rectangle area = getClientArea();
-        if (area.width <= 0) {
-			return 0;
-		}
-        Rectangle toolspace = getToolSpace();
-        if (toolspace.width == 0) {
-			return items.length - 1;
-		}
-        int width = area.width - toolspace.width;
-        int index = topTabIndex;
-        int tabWidth = items[index].width;
-        while (index < items.length - 1) {
-            tabWidth += items[index + 1].width;
-            if (tabWidth > width) {
-				break;
-			}
-            index++;
-        }
-        return index;
-    }
-
-    /**
-     * Return the selected tab item, or an empty array if there
-     * is no selection.
-     * 
-     * @return the selected tab item
-     */
-    public CTabItem getSelection() {
-        //checkWidget();
-        if (selectedIndex == -1) {
-			return null;
-		}
-        return items[selectedIndex];
-    }
-
-    /**
-     * Return the index of the selected tab item, or -1 if there
-     * is no selection.
-     * 
-     * @return the index of the selected tab item or -1
-     */
-    public int getSelectionIndex() {
-        //checkWidget();
-        return selectedIndex;
-    }
-
-    private Rectangle getToolSpace() {
-        boolean showArrows = scroll_leftVisible() || scroll_rightVisible();
-        if (!showArrows && topRight == null) {
-			return new Rectangle(0, 0, 0, 0);
-		}
-        Rectangle toolspace;
-        if (showArrows) {
-            toolspace = arrowBar.getBounds();
-            toolspace.width += borderRight;
-            if (topRight != null) {
-				toolspace.width += topRight.getSize().x;
-			}
-        } else {
-            toolspace = topRight.getBounds();
-            toolspace.width += borderRight;
-        }
-        return toolspace;
-    }
-
-    /**
-     * Returns the control in the top right corner of the tab folder. 
-     * Typically this is a close button or a composite with a menu and close button.
-     *
-     * @since 2.1
-     *
-     * @return the control in the top right corner of the tab folder or null
-     * 
-     * @exception  SWTError <ul>
-     *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
-     *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
-     *	</ul>
-     */
-    public Control getTopRight() {
-        checkWidget();
-        return topRight;
-    }
-
-    /**
-     * Return the index of the specified tab or -1 if the tab is not 
-     * in the receiver.
-     * 
-     * @return the index of the specified tab item or -1
-     * 
-     * @exception SWTError <ul>
-     *      <li>ERROR_NULL_ARGUMENT when the item is null</li>
-     *	</ul>
-     */
-    public int indexOf(CTabItem item) {
-        //checkWidget();
-        if (item == null) {
-            SWT.error(SWT.ERROR_NULL_ARGUMENT);
-        }
-        for (int i = 0; i < items.length; i++) {
-            if (items[i] == item) {
-				return i;
-			}
-        }
-        return -1;
-    }
-
-    private void initAccessible() {
-        final Accessible accessible = getAccessible();
-        accessible.addAccessibleListener(new AccessibleAdapter() {
-            public void getName(AccessibleEvent e) {
-                String name = null;
-                int childID = e.childID;
-                if (childID >= 0 && childID < items.length) {
-                    name = items[childID].getText();
-                    int index = name.indexOf('&');
-                    if (index > 0) {
-                        name = name.substring(0, index)
-                                + name.substring(index + 1);
-                    }
-                }
-                e.result = name;
-            }
-
-            public void getHelp(AccessibleEvent e) {
-                String help = null;
-                int childID = e.childID;
-                if (childID == ACC.CHILDID_SELF) {
-                    help = getToolTipText();
-                } else if (childID >= 0 && childID < items.length) {
-                    help = items[childID].getToolTipText();
-                }
-                e.result = help;
-            }
-
-            public void getKeyboardShortcut(AccessibleEvent e) {
-                String shortcut = null;
-                int childID = e.childID;
-                if (childID >= 0 && childID < items.length) {
-                    String text = items[childID].getText();
-                    if (text != null) {
-                        char mnemonic = getMnemonic(text);
-                        if (mnemonic != '\0') {
-                            shortcut = "Alt+" + mnemonic; //$NON-NLS-1$
-                        }
-                    }
-                }
-                e.result = shortcut;
-            }
-        });
-
-        accessible.addAccessibleControlListener(new AccessibleControlAdapter() {
-            public void getChildAtPoint(AccessibleControlEvent e) {
-                Point testPoint = toControl(new Point(e.x, e.y));
-                int childID = ACC.CHILDID_NONE;
-                for (int i = 0; i < items.length; i++) {
-                    if (items[i].getBounds().contains(testPoint)) {
-                        childID = i;
-                        break;
-                    }
-                }
-                if (childID == ACC.CHILDID_NONE) {
-                    Rectangle location = getBounds();
-                    location.height = location.height - getClientArea().height;
-                    if (location.contains(testPoint)) {
-                        childID = ACC.CHILDID_SELF;
-                    }
-                }
-                e.childID = childID;
-            }
-
-            public void getLocation(AccessibleControlEvent e) {
-                Rectangle location = null;
-                int childID = e.childID;
-                if (childID == ACC.CHILDID_SELF) {
-                    location = getBounds();
-                }
-                if (childID >= 0 && childID < items.length) {
-                    location = items[childID].getBounds();
-                }
-                if (location != null) {
-                    Point pt = toDisplay(new Point(location.x, location.y));
-                    e.x = pt.x;
-                    e.y = pt.y;
-                    e.width = location.width;
-                    e.height = location.height;
-                }
-            }
-
-            public void getChildCount(AccessibleControlEvent e) {
-                e.detail = items.length;
-            }
-
-            public void getDefaultAction(AccessibleControlEvent e) {
-                String action = null;
-                int childID = e.childID;
-                if (childID >= 0 && childID < items.length) {
-                    action = "Switch"; //$NON-NLS-1$
-                }
-                e.result = action;
-            }
-
-            public void getFocus(AccessibleControlEvent e) {
-                int childID = ACC.CHILDID_NONE;
-                if (isFocusControl()) {
-                    if (selectedIndex == -1) {
-                        childID = ACC.CHILDID_SELF;
-                    } else {
-                        childID = selectedIndex;
-                    }
-                }
-                e.childID = childID;
-            }
-
-            public void getRole(AccessibleControlEvent e) {
-                int role = 0;
-                int childID = e.childID;
-                if (childID == ACC.CHILDID_SELF) {
-                    role = ACC.ROLE_TABFOLDER;
-                } else if (childID >= 0 && childID < items.length) {
-                    role = ACC.ROLE_TABITEM;
-                }
-                e.detail = role;
-            }
-
-            public void getSelection(AccessibleControlEvent e) {
-                e.childID = (selectedIndex == -1) ? ACC.CHILDID_NONE
-                        : selectedIndex;
-            }
-
-            public void getState(AccessibleControlEvent e) {
-                int state = 0;
-                int childID = e.childID;
-                if (childID == ACC.CHILDID_SELF) {
-                    state = ACC.STATE_NORMAL;
-                } else if (childID >= 0 && childID < items.length) {
-                    state = ACC.STATE_SELECTABLE;
-                    if (isFocusControl()) {
-                        state |= ACC.STATE_FOCUSABLE;
-                    }
-                    if (selectedIndex == childID) {
-                        state |= ACC.STATE_SELECTED;
-                        if (isFocusControl()) {
-                            state |= ACC.STATE_FOCUSED;
-                        }
-                    }
-                }
-                e.detail = state;
-            }
-
-            public void getChildren(AccessibleControlEvent e) {
-                Object[] children = new Object[items.length];
-                for (int i = 0; i < items.length; i++) {
-                    children[i] = new Integer(i);
-                }
-                e.children = children;
-            }
-        });
-
-        addListener(SWT.Selection, new Listener() {
-            public void handleEvent(Event event) {
-                if (isFocusControl()) {
-                    if (selectedIndex == -1) {
-                        accessible.setFocus(ACC.CHILDID_SELF);
-                    } else {
-                        accessible.setFocus(selectedIndex);
-                    }
-                }
-            }
-        });
-
-        addListener(SWT.FocusIn, new Listener() {
-            public void handleEvent(Event event) {
-                if (selectedIndex == -1) {
-                    accessible.setFocus(ACC.CHILDID_SELF);
-                } else {
-                    accessible.setFocus(selectedIndex);
-                }
-            }
-        });
-    }
-
-    private void setButtonBounds() {
-
-        updateArrowBar();
-        updateCloseBar();
-
-        Rectangle area = super.getClientArea();
-
-        int offset = 0;
-        if (topRight != null) {
-            Point size = topRight.computeSize(SWT.DEFAULT, tabHeight);
-            int x = area.x + area.width - borderRight - size.x;
-            int y = onBottom ? area.y + area.height - borderBottom - size.y
-                    : area.y + borderTop;
-            topRight.setBounds(x, y, size.x, size.y);
-            offset = size.x;
-        }
-        boolean leftVisible = scroll_leftVisible();
-        boolean rightVisible = scroll_rightVisible();
-        if (leftVisible || rightVisible) {
-            Point size = arrowBar.computeSize(SWT.DEFAULT, tabHeight);
-            int x = area.x + area.width - borderRight - size.x - offset;
-            int y = (onBottom) ? area.y + area.height - borderBottom - size.y
-                    : area.y + borderTop;
-
-            arrowBar.setBounds(x, y, size.x, size.y);
-            ToolItem[] items = arrowBar.getItems();
-            items[0].setEnabled(leftVisible);
-            items[1].setEnabled(rightVisible);
-            arrowBar.setVisible(true);
-        } else {
-            arrowBar.setVisible(false);
-        }
-
-        // When the close button is right at the edge of the Tab folder, hide it because
-        // otherwise it may block off a part of the border on the right
-        if (showClose) {
-            inactiveCloseBar.setVisible(false);
-            CTabItem item = getSelection();
-            if (item == null) {
-                closeBar.setVisible(false);
-            } else {
-                int toolbarHeight = tabHeight - CTabItem.TOP_MARGIN
-                        - CTabItem.BOTTOM_MARGIN + 2; // +2 to ignore gap between focus rectangle
-                Point size = closeBar.computeSize(SWT.DEFAULT, toolbarHeight);
-                int x = item.x + item.width - size.x - 2; // -2 to not overlap focus rectangle and trim
-                int y = item.y + Math.max(0, (item.height - toolbarHeight) / 2);
-                closeBar.setBounds(x, y, size.x, toolbarHeight);
-                Rectangle toolspace = getToolSpace();
-                Point folderSize = getSize();
-                boolean visible = (toolspace.width == 0 || x < toolspace.x)
-                        && x + size.x < folderSize.x - borderRight;
-                closeBar.setVisible(visible);
-            }
-        }
-    }
-
-    private boolean setItemLocation() {
-        if (items.length == 0) {
-			return false;
-		}
-        Rectangle area = super.getClientArea();
-        int x = area.x;
-        int y = area.y + borderTop;
-        if (onBottom) {
-			y = Math.max(0, area.y + area.height - borderBottom - tabHeight);
-		}
-
-        boolean changed = false;
-        for (int i = topTabIndex - 1; i >= 0; i--) {
-            // if the first visible tab is not the first tab
-            CTabItem tab = items[i];
-            x -= tab.width;
-            if (!changed && (tab.x != x || tab.y != y)) {
-				changed = true;
-			}
-            // layout tab items from right to left thus making them invisible
-            tab.x = x;
-            tab.y = y;
-        }
-
-        x = area.x + borderLeft;
-        for (int i = topTabIndex; i < items.length; i++) {
-            // continue laying out remaining, visible items left to right 
-            CTabItem tab = items[i];
-            tab.x = x;
-            tab.y = y;
-            x = x + tab.width;
-        }
-        setButtonBounds();
-        return changed;
-    }
-
-    private void setLastItem(int index) {
-        if (index < 0 || index > items.length - 1) {
-			return;
-		}
-        Rectangle area = getClientArea();
-        if (area.width <= 0) {
-			return;
-		}
-        int maxWidth = area.width;
-        Rectangle toolspace = getToolSpace();
-        if (toolspace.width > 0) {
-            maxWidth -= toolspace.width;
-        }
-        int tabWidth = items[index].width;
-        while (index > 0) {
-            tabWidth += items[index - 1].width;
-            if (tabWidth > maxWidth) {
-				break;
-			}
-            index--;
-        }
-        topTabIndex = index;
-        setItemLocation();
-        redrawTabArea(-1);
-    }
-
-    /**
-     * Layout the items and store the client area size.
-     */
-    boolean setItemBounds() {
-        boolean changed = false;
-        if (isDisposed()) {
-			return changed;
-		}
-        Rectangle area = super.getClientArea();
-
-        xClient = area.x + borderLeft + marginWidth;
-        if (onBottom) {
-            yClient = area.y + borderTop + marginHeight;
-        } else {
-            yClient = area.y + borderTop + tabHeight + 1 + marginHeight;
-            // +1 is for the line at the bottom of the tabs
-        }
-
-        if (area.width <= 0 || area.height <= 0 || items.length == 0) {
-			return changed;
-		}
-
-        int[] widths = new int[items.length];
-        GC gc = new GC(this);
-        for (int i = 0; i < items.length; i++) {
-            widths[i] = items[i].preferredWidth(gc);
-        }
-        gc.dispose();
-
-        int oldAverageWidth = 0;
-        int averageWidth = (area.width - borderLeft - borderRight)
-                / items.length;
-        while (averageWidth > oldAverageWidth) {
-            int width = area.width - borderLeft - borderRight;
-            int count = items.length;
-            for (int i = 0; i < items.length; i++) {
-                if (widths[i] < averageWidth) {
-                    width -= widths[i];
-                    count--;
-                }
-            }
-            oldAverageWidth = averageWidth;
-            if (count > 0) {
-                averageWidth = width / count;
-            }
-        }
-        averageWidth = Math.max(averageWidth, MIN_TAB_WIDTH * tabHeight);
-        for (int i = 0; i < items.length; i++) {
-            if (widths[i] > averageWidth) {
-                widths[i] = averageWidth;
-            }
-        }
-
-        int totalWidth = 0;
-        for (int i = 0; i < items.length; i++) {
-            CTabItem tab = items[i];
-            if (tab.height != tabHeight || tab.width != widths[i]) {
-				changed = true;
-			}
-            tab.height = tabHeight;
-            tab.width = widths[i];
-            totalWidth += widths[i];
-        }
-
-        int areaWidth = area.x + area.width - borderRight;
-        if (totalWidth <= areaWidth) {
-            topTabIndex = 0;
-        }
-        if (setItemLocation()) {
-			changed = true;
-		}
-
-        // Is there a gap after last item showing
-        if (correctLastItem()) {
-			changed = true;
-		}
-        return changed;
-    }
-
-    private boolean onMnemonic(Event event) {
-        char key = event.character;
-        for (int i = 0; i < items.length; i++) {
-            if (items[i] != null) {
-                char mnemonic = getMnemonic(items[i].getText());
-                if (mnemonic != '\0') {
-                    if (Character.toUpperCase(key) == Character
-                            .toUpperCase(mnemonic)) {
-                        setSelection(i, true);
-                        return true;
-                    }
-                }
-            }
-        }
-        return false;
-    }
-
-    /** 
-     * Paint the receiver.
-     */
-    private void onPaint(Event event) {
-        Font font = getFont();
-        if (oldFont == null || !oldFont.equals(font)) {
-            oldFont = font;
-            resetTabSize(true);
-        }
-        GC gc = event.gc;
-        Rectangle rect = super.getClientArea();
-        if (items.length == 0) {
-            if (showBorders) {
-                if ((getStyle() & SWT.FLAT) != 0) {
-                    gc.setForeground(borderColor1);
-                    gc.drawRectangle(rect.x, rect.y, rect.x + rect.width - 1,
-                            rect.y + rect.height - 1);
-                } else {
-                    gc.setForeground(borderColor1);
-                    gc.drawRectangle(rect.x, rect.y, rect.x + rect.width - 3,
-                            rect.y + rect.height - 3);
-
-                    // fill in right and bottom edges with parent's background
-                    gc.setBackground(getParent().getBackground());
-                    gc.fillRectangle(rect.x + rect.width - 2, rect.y, 2,
-                            rect.height);
-                    gc.fillRectangle(rect.x, rect.y + rect.height - 2,
-                            rect.width, 2);
-                }
-                gc.setForeground(getForeground());
-            }
-            return;
-        }
-
-        // redraw the Border
-        drawBorder(gc);
-
-        rect.x += borderLeft;
-        rect.y += borderTop;
-        rect.width -= borderLeft + borderRight;
-        rect.height -= borderTop + borderBottom;
-        Rectangle clip = gc.getClipping();
-        gc.setClipping(clip.intersection(rect));
-
-        // Draw the unselected tabs first.
-        for (int i = 0; i < items.length; i++) {
-            if (i != selectedIndex
-                    && event.getBounds().intersects(items[i].getBounds())) {
-                items[i].onPaint(gc, false);
-            }
-        }
-        // Selected tab comes last
-        if (selectedIndex != -1) {
-            items[selectedIndex].onPaint(gc, true);
-        }
-
-        // draw insertion mark
-        if (insertionIndex > -2) {
-            gc.setForeground(getDisplay().getSystemColor(
-                    SWT.COLOR_LIST_SELECTION));
-            if (insertionIndex == -1) {
-                Rectangle bounds = items[0].getBounds();
-                gc.drawLine(bounds.x, bounds.y, bounds.x, bounds.y
-                        + bounds.height - 1);
-                gc.drawLine(bounds.x - 2, bounds.y, bounds.x + 2, bounds.y);
-                gc.drawLine(bounds.x - 1, bounds.y + 1, bounds.x + 1,
-                        bounds.y + 1);
-                gc.drawLine(bounds.x - 1, bounds.y + bounds.height - 2,
-                        bounds.x + 1, bounds.y + bounds.height - 2);
-                gc.drawLine(bounds.x - 2, bounds.y + bounds.height - 1,
-                        bounds.x + 2, bounds.y + bounds.height - 1);
-
-            } else {
-                Rectangle bounds = items[insertionIndex].getBounds();
-                gc.drawLine(bounds.x + bounds.width, bounds.y, bounds.x
-                        + bounds.width, bounds.y + bounds.height - 1);
-                gc.drawLine(bounds.x + bounds.width - 2, bounds.y, bounds.x
-                        + bounds.width + 2, bounds.y);
-                gc.drawLine(bounds.x + bounds.width - 1, bounds.y + 1, bounds.x
-                        + bounds.width + 1, bounds.y + 1);
-                gc.drawLine(bounds.x + bounds.width - 1, bounds.y
-                        + bounds.height - 2, bounds.x + bounds.width + 1,
-                        bounds.y + bounds.height - 2);
-                gc.drawLine(bounds.x + bounds.width - 2, bounds.y
-                        + bounds.height - 1, bounds.x + bounds.width + 2,
-                        bounds.y + bounds.height - 1);
-            }
-        }
-
-        gc.setForeground(getForeground());
-        gc.setBackground(getBackground());
-    }
-
-    private void redrawTabArea(int index) {
-        int x = 0, y = 0, width = 0, height = 0;
-        if (index == -1) {
-            Rectangle area = super.getClientArea();
-            if (area.width == 0 || area.height == 0) {
-				return;
-			}
-            width = area.x + area.width - borderLeft - borderRight;
-            height = tabHeight + 1; // +1 causes top line between content and tabs to be redrawn
-            x = area.x + borderLeft;
-            y = area.y + borderTop;
-            if (onBottom) {
-                y = Math.max(0, area.y + area.height - borderBottom - height);
-            }
-        } else {
-            CTabItem item = items[index];
-            x = item.x;
-            y = item.y;
-            Rectangle area = super.getClientArea();
-            width = area.x + area.width - x;
-            height = item.height;
-        }
-        redraw(x, y, width, height, false);
-    }
-
-    /**	 
-     * Removes the listener.
-     *
-     * @param listener the listener
-     *
-     * @exception SWTError
-     *	<ul><li>ERROR_THREAD_INVALID_ACCESS	when called from the wrong thread</li>
-     * 		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
-     * 		<li>ERROR_NULL_ARGUMENT when listener is null</li></ul>
-     */
-    public void removeSelectionListener(SelectionListener listener) {
-        checkWidget();
-        if (listener == null) {
-            SWT.error(SWT.ERROR_NULL_ARGUMENT);
-        }
-        removeListener(SWT.Selection, listener);
-        removeListener(SWT.DefaultSelection, listener);
-    }
-
-    /**	 
-     * Removes the listener.
-     *
-     * @param listener the listener
-     *
-     * @exception SWTError
-     *	<ul><li>ERROR_THREAD_INVALID_ACCESS	when called from the wrong thread</li>
-     * 		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
-     * 		<li>ERROR_NULL_ARGUMENT when listener is null</li></ul>
-     */
-    public void removeCTabFolderListener(CTabFolderListener listener) {
-        checkWidget();
-        if (listener == null) {
-			SWT.error(SWT.ERROR_NULL_ARGUMENT);
-		}
-        if (tabListeners.length == 0) {
-			return;
-		}
-        int index = -1;
-        for (int i = 0; i < tabListeners.length; i++) {
-            if (listener == tabListeners[i]) {
-                index = i;
-                break;
-            }
-        }
-        if (index == -1) {
-			return;
-		}
-        if (tabListeners.length == 1) {
-            tabListeners = new CTabFolderListener[0];
-            showClose = false;
-            setButtonBounds();
-            return;
-        }
-        CTabFolderListener[] newTabListeners = new CTabFolderListener[tabListeners.length - 1];
-        System.arraycopy(tabListeners, 0, newTabListeners, 0, index);
-        System.arraycopy(tabListeners, index + 1, newTabListeners, index,
-                tabListeners.length - index - 1);
-        tabListeners = newTabListeners;
-    }
-
-    /**
-     * The widget was resized. Adjust the size of the currently selected page.
-     */
-    private void onResize() {
-
-        if (items.length == 0) {
-            redraw();
-            return;
-        }
-
-        if (setItemBounds()) {
-            redrawTabArea(-1);
-        }
-
-        Point size = getSize();
-        if (oldSize == null) {
-            redraw();
-        } else {
-            if (onBottom && size.y != oldSize.y) {
-                redraw();
-            } else {
-                int x1 = Math.min(size.x, oldSize.x);
-                if (size.x != oldSize.x) {
-					x1 -= 10;
-				}
-                int y1 = Math.min(size.y, oldSize.y);
-                if (size.y != oldSize.y) {
-					y1 -= 10;
-				}
-                int x2 = Math.max(size.x, oldSize.x);
-                int y2 = Math.max(size.y, oldSize.y);
-                redraw(0, y1, x2 + 10, y2 - y1, false);
-                redraw(x1, 0, x2 - x1, y2, false);
-            }
-        }
-        oldSize = size;
-
-        // resize content
-        if (selectedIndex != -1) {
-            Control control = items[selectedIndex].getControl();
-            if (control != null && !control.isDisposed()) {
-                control.setBounds(getClientArea());
-            }
-        }
-    }
-
-    public void setBackground(Color color) {
-        super.setBackground(color);
-        background = color;
-        // init inactive close button
-        inactiveCloseBar.setBackground(color);
-
-        // init scroll buttons
-        arrowBar.setBackground(color);
-
-        //init topRight control
-        if (topRight != null) {
-			topRight.setBackground(color);
-		}
-
-        // init close button
-        if (gradientColors == null) {
-            closeBar.setBackground(color);
-        }
-    }
-
-    /**
-     * Specify a gradient of colours to be draw in the background of the selected tab.
-     * For example to draw a gradient that varies from dark blue to blue and then to
-     * white, use the following call to setBackground:
-     * <pre>
-     *	cfolder.setBackground(new Color[]{display.getSystemColor(SWT.COLOR_DARK_BLUE), 
-     *		                           display.getSystemColor(SWT.COLOR_BLUE),
-     *		                           display.getSystemColor(SWT.COLOR_WHITE), 
-     *		                           display.getSystemColor(SWT.COLOR_WHITE)},
-     *		               new int[] {25, 50, 100});
-     * </pre>
-     *
-     * @param colors an array of Color that specifies the colors to appear in the gradient 
-     *               in order of appearance left to right.  The value <code>null</code> clears the
-     *               background gradient. The value <code>null</code> can be used inside the array of 
-     *               Color to specify the background color.
-     * @param percents an array of integers between 0 and 100 specifying the percent of the width 
-     *                 of the widget at which the color should change.  The size of the percents array must be one 
-     *                 less than the size of the colors array.
-     * 
-     * @exception SWTError <ul>
-     *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
-     *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
-     *	</ul>
-     */
-
-    public void setSelectionBackground(Color[] colors, int[] percents) {
-        checkWidget();
-        if (colors != null) {
-            if (percents == null || percents.length != colors.length - 1) {
-                SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-            }
-            if (getDisplay().getDepth() < 15) {
-                // Don't use gradients on low color displays
-                colors = new Color[] { colors[0] };
-                percents = new int[] {};
-            }
-            for (int i = 0; i < percents.length; i++) {
-                if (percents[i] < 0 || percents[i] > 100) {
-                    SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-                }
-                if (i > 0 && percents[i] < percents[i - 1]) {
-                    SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-                }
-            }
-        }
-
-        // Are these settings the same as before?
-        if (backgroundImage == null) {
-            if ((gradientColors != null) && (colors != null)
-                    && (gradientColors.length == colors.length)) {
-                boolean same = false;
-                for (int i = 0; i < gradientColors.length; i++) {
-                    if (gradientColors[i] == null) {
-                        same = colors[i] == null;
-                    } else {
-                        same = gradientColors[i].equals(colors[i]);
-                    }
-                    if (!same) {
-						break;
-					}
-                }
-                if (same) {
-                    for (int i = 0; i < gradientPercents.length; i++) {
-                        same = gradientPercents[i] == percents[i];
-                        if (!same) {
-							break;
-						}
-                    }
-                }
-                if (same) {
-					return;
-				}
-            }
-        } else {
-            backgroundImage = null;
-        }
-        // Store the new settings
-        if (colors == null) {
-            gradientColors = null;
-            gradientPercents = null;
-            closeBar.setBackground(background);
-        } else {
-            gradientColors = new Color[colors.length];
-            for (int i = 0; i < colors.length; ++i) {
-				gradientColors[i] = colors[i];
-			}
-            gradientPercents = new int[percents.length];
-            for (int i = 0; i < percents.length; ++i) {
-				gradientPercents[i] = percents[i];
-			}
-            if (getDisplay().getDepth() < 15) {
-				closeBar.setBackground(background);
-			} else {
-				closeBar
-                        .setBackground(gradientColors[gradientColors.length - 1]);
-			}
-        }
-
-        // Refresh with the new settings
-        if (selectedIndex > -1) {
-			redrawTabArea(selectedIndex);
-		}
-    }
-
-    /**
-     * Set the image to be drawn in the background of the selected tab.
-     * 
-     * @param image the image to be drawn in the background
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setSelectionBackground(Image image) {
-        checkWidget();
-        if (image == backgroundImage) {
-			return;
-		}
-        if (image != null) {
-            gradientColors = null;
-            gradientPercents = null;
-        }
-        backgroundImage = image;
-        redrawTabArea(selectedIndex);
-    }
-
-    /**
-     * Toggle the visibility of the border
-     * 
-     * @param show true if the border should be displayed
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setBorderVisible(boolean show) {
-        checkWidget();
-        //	if (showBorders == show) return;
-
-        showBorders = show;
-        if (showBorders) {
-            if ((getStyle() & SWT.FLAT) != 0) {
-                borderBottom = borderTop = borderLeft = borderRight = 1;
-            } else {
-                borderLeft = borderTop = 1;
-                borderRight = borderBottom = 3;
-            }
-        } else {
-            borderBottom = borderTop = borderLeft = borderRight = 0;
-        }
-        oldSize = null;
-        notifyListeners(SWT.Resize, new Event());
-    }
-
-    public void setFont(Font font) {
-        checkWidget();
-        if (font != null && font.equals(getFont())) {
-			return;
-		}
-        super.setFont(font);
-        oldFont = getFont();
-        resetTabSize(true);
-    }
-
-    /**
-     * Set the foreground color of the selected tab.
-     * 
-     * @param color the color of the text displayed in the selected tab
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setSelectionForeground(Color color) {
-        checkWidget();
-        if (selectionForeground == color) {
-			return;
-		}
-        if (color == null) {
-			color = getForeground();
-		}
-        selectionForeground = color;
-        if (selectedIndex > -1) {
-            redrawTabArea(selectedIndex);
-        }
-    }
-
-    /**
-     * Display an insert marker before or after the specified tab item. 
-     * 
-     * A value of null will clear the mark.
-     * 
-     * @param item the item with which the mark is associated or null
-     * 
-     * @param after true if the mark should be displayed after the specified item
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setInsertMark(CTabItem item, boolean after) {
-        checkWidget();
-        int index = -1;
-        if (item != null) {
-            index = indexOf(item);
-        }
-        setInsertMark(index, after);
-    }
-
-    /**
-     * Display an insert marker before or after the specified tab item.
-     * 
-     * A value of -1 will clear the mark.
-     * 
-     * @param index the index of the item with which the mark is associated or null
-     * 
-     * @param after true if the mark should be displayed after the specified item
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setInsertMark(int index, boolean after) {
-        checkWidget();
-        if (index < -1 || index >= getItemCount()) {
-            SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-        }
-
-        if (index == -1) {
-            index = -2;
-        } else {
-            index = after ? index : --index;
-        }
-
-        if (insertionIndex == index) {
-			return;
-		}
-        int oldIndex = insertionIndex;
-        insertionIndex = index;
-        if (index > -1) {
-			redrawTabArea(index);
-		}
-        if (oldIndex > 1) {
-			redrawTabArea(oldIndex);
-		}
-    }
-
-    /**
-     * Set the selection to the tab at the specified index.
-     * 
-     * @param index the index of the tab item to be selected
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setSelection(int index) {
-        checkWidget();
-        if (index < 0 || index >= items.length) {
-			return;
-		}
-        if (selectedIndex == index) {
-			return;
-		}
-
-        int oldIndex = selectedIndex;
-        selectedIndex = index;
-
-        Control control = items[index].control;
-        if (control != null && !control.isDisposed()) {
-            control.setBounds(getClientArea());
-            control.setVisible(true);
-        }
-
-        if (oldIndex != -1) {
-            control = items[oldIndex].control;
-            if (control != null && !control.isDisposed()) {
-                control.setVisible(false);
-            }
-        }
-        showItem(items[selectedIndex]);
-        setButtonBounds();
-        redrawTabArea(-1);
-    }
-
-    /**
-     * Set the control that appears in the top right corner of the tab folder.
-     * Typically this is a close button or a composite with a Menu and close button. 
-     * The topRight control is optional.  Setting the top right control to null will remove it from the tab folder.
-     *
-     * @since 2.1
-     * 
-     * @param control the control to be displayed in the top right corner or null
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     *    <li>ERROR_INVALID_ARGUMENT - if the control is not a child of this CTabFolder</li>
-     * </ul>
-     */
-    public void setTopRight(Control control) {
-        checkWidget();
-        if (control != null && control.getParent() != this) {
-            SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-        }
-        topRight = control;
-        resetTabSize(true);
-    }
-
-    /**
-     * Shows the item.  If the item is already showing in the receiver,
-     * this method simply returns.  Otherwise, the items are scrolled until
-     * the item is visible.
-     *
-     * @param item the item to be shown
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the item is null</li>
-     *    <li>ERROR_INVALID_ARGUMENT - if the item has been disposed</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see CTabFolder#showSelection()
-     * 
-     * @since 2.0
-     */
-    public void showItem(CTabItem item) {
-        checkWidget();
-        if (item == null) {
-			SWT.error(SWT.ERROR_NULL_ARGUMENT);
-		}
-        if (item.isDisposed()) {
-			SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-		}
-
-        int index = indexOf(item);
-        if (index < topTabIndex) {
-            topTabIndex = index;
-            setItemLocation();
-            redrawTabArea(-1);
-            return;
-        }
-        Rectangle area = getClientArea();
-        if (area.width <= 0) {
-            topTabIndex = index;
-            return;
-        }
-        int rightEdge = area.x + area.width;
-        Rectangle rect = getToolSpace();
-        if (rect.width > 0) {
-            rightEdge -= rect.width;
-        }
-        if (item.x + item.width < rightEdge) {
-			return;
-		}
-        setLastItem(index);
-    }
-
-    /**
-     * Shows the selection.  If the selection is already showing in the receiver,
-     * this method simply returns.  Otherwise, the items are scrolled until
-     * the selection is visible.
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see CTabFolder#showItem(CTabItem)
-     * 
-     * @since 2.0
-     * 
-     */
-    public void showSelection() {
-        checkWidget();
-        if (selectedIndex != -1) {
-            showItem(getSelection());
-        }
-    }
-
-    char getMnemonic(String string) {
-        int index = 0;
-        int length = string.length();
-        do {
-            while ((index < length) && (string.charAt(index) != '&')) {
-				index++;
-			}
-            if (++index >= length) {
-				return '\0';
-			}
-            if (string.charAt(index) != '&') {
-				return string.charAt(index);
-			}
-            index++;
-        } while (index < length);
-        return '\0';
-    }
-
-    /**
-     * Set the selection to the tab at the specified item.
-     * 
-     * @param item the tab item to be selected
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     *    <li>ERROR_NULL_ARGUMENT - if argument is null</li>
-     * </ul>
-     */
-    public void setSelection(CTabItem item) {
-        checkWidget();
-        if (item == null) {
-			SWT.error(SWT.ERROR_NULL_ARGUMENT);
-		}
-        int index = indexOf(item);
-        setSelection(index);
-    }
-
-    /**
-     * Set the selection to the tab at the specified index.
-     */
-    private void setSelection(int index, boolean notify) {
-        int oldSelectedIndex = selectedIndex;
-        setSelection(index);
-        if (notify && selectedIndex != oldSelectedIndex && selectedIndex != -1) {
-            Event event = new Event();
-            event.item = getItem(selectedIndex);
-            notifyListeners(SWT.Selection, event);
-        }
-    }
-
-    private Image scaleImage(Image image, int oldSize, int newSize) {
-        Display display = getDisplay();
-        Color foreground = getForeground();
-        Color black = display.getSystemColor(SWT.COLOR_BLACK);
-        Color background = getBackground();
-        PaletteData palette = new PaletteData(new RGB[] { foreground.getRGB(),
-                background.getRGB(), black.getRGB() });
-        ImageData imageData = new ImageData(newSize, newSize, 4, palette);
-        imageData.transparentPixel = 1;
-        Image temp = new Image(display, imageData);
-        GC gc = new GC(temp);
-        gc.setBackground(background);
-        gc.fillRectangle(0, 0, newSize, newSize);
-        gc.drawImage(image, 0, 0, oldSize, oldSize, 0, 0, newSize, newSize);
-        gc.dispose();
-        return temp;
-    }
-
-    private void updateCloseBar() {
-        //Temporary code - need a better way to determine toolBar trim
-        int toolbarTrim = 4;
-        String platform = SWT.getPlatform();
-        if ("photon".equals(platform)) { //$NON-NLS-1$
-			toolbarTrim = 6;
-		}
-        if ("gtk".equals(platform)) { //$NON-NLS-1$
-			toolbarTrim = 8;
-		}
-
-        int maxHeight = tabHeight - CTabItem.TOP_MARGIN
-                - CTabItem.BOTTOM_MARGIN - toolbarTrim;
-        if (maxHeight < 3) {
-			return;
-		}
-        int imageHeight = (maxHeight < 9) ? 9 : maxHeight;
-
-        if (closeImage != null && closeImage.getBounds().height == imageHeight) {
-			return;
-		}
-
-        if (closeBar != null) {
-			closeBar.dispose();
-		}
-        closeBar = null;
-        if (inactiveCloseBar != null) {
-			inactiveCloseBar.dispose();
-		}
-        inactiveCloseBar = null;
-        createCloseBar();
-
-        ToolItem closeItem = closeBar.getItems()[0];
-        ToolItem inactiveCloseItem = inactiveCloseBar.getItems()[0];
-
-        if (closeImage != null) {
-			closeImage.dispose();
-		}
-
-        Display display = getDisplay();
-        Color foreground = getForeground();
-        Color black = display.getSystemColor(SWT.COLOR_BLACK);
-        Color background = getBackground();
-
-        PaletteData palette = new PaletteData(new RGB[] { foreground.getRGB(),
-                background.getRGB(), black.getRGB() });
-        ImageData imageData = new ImageData(imageHeight, imageHeight, 4,
-                palette);
-        imageData.transparentPixel = 1;
-        closeImage = new Image(display, imageData);
-        GC gc = new GC(closeImage);
-        gc.setBackground(background);
-        gc.fillRectangle(0, 0, imageHeight, imageHeight);
-        gc.setForeground(black);
-
-        //draw an 9x8 'x' centered in image
-        int h = (imageHeight / 2) * 2;
-        int inset = (h - 8) / 2;
-        gc.drawLine(inset, inset, h - inset - 1, h - inset - 1);
-        gc.drawLine(inset + 1, inset, h - inset, h - inset - 1);
-        gc.drawLine(inset, h - inset - 1, h - inset - 1, inset);
-        gc.drawLine(inset + 1, h - inset - 1, h - inset, inset);
-
-        gc.dispose();
-
-        if (maxHeight < imageHeight) {
-            //rescale image
-            Image temp = scaleImage(closeImage, imageHeight, maxHeight);
-            closeImage.dispose();
-            closeImage = temp;
-        }
-        closeItem.setImage(closeImage);
-        inactiveCloseItem.setImage(closeImage);
-    }
-
-    private void updateArrowBar() {
-        //Temporary code - need a better way to determine toolBar trim
-        int toolbarTrim = 6; // Windows needs 6, photon needs 6, gtk needs 8
-        String platform = SWT.getPlatform();
-        if ("gtk".equals(platform)) { //$NON-NLS-1$
-			toolbarTrim = 8;
-		}
-
-        int maxHeight = tabHeight - toolbarTrim;
-        if (maxHeight < 3) {
-			return;
-		}
-        int imageHeight = (maxHeight < 9) ? 9 : maxHeight;
-
-        if (arrowLeftImage != null
-                && arrowLeftImage.getBounds().height == imageHeight) {
-			return;
-		}
-
-        if (arrowBar != null) {
-			arrowBar.dispose();
-		}
-        arrowBar = null;
-        if (arrowLeftImage != null) {
-			arrowLeftImage.dispose();
-		}
-        if (arrowRightImage != null) {
-			arrowRightImage.dispose();
-		}
-
-        createArrowBar();
-        ToolItem[] items = arrowBar.getItems();
-        ToolItem left = items[0];
-        ToolItem right = items[1];
-
-        Display display = getDisplay();
-        Color foreground = getForeground();
-        Color black = display.getSystemColor(SWT.COLOR_BLACK);
-        Color background = getBackground();
-
-        PaletteData palette = new PaletteData(new RGB[] { foreground.getRGB(),
-                background.getRGB(), black.getRGB() });
-        ImageData imageData = new ImageData(7, imageHeight, 4, palette);
-        imageData.transparentPixel = 1;
-        arrowLeftImage = new Image(display, imageData);
-        GC gc = new GC(arrowLeftImage);
-        gc.setBackground(background);
-        gc.fillRectangle(0, 0, 7, imageHeight);
-        gc.setBackground(black);
-        //draw a 9x5 '<' centered vertically in image
-        int h = (imageHeight / 2) * 2;
-        int midpoint = h / 2 - 1;
-        int[] pointArr = new int[] { 6, midpoint - 5, 1, midpoint, 6,
-                midpoint + 5, };
-        gc.fillPolygon(pointArr);
-        gc.dispose();
-
-        palette = new PaletteData(new RGB[] { foreground.getRGB(),
-                background.getRGB(), black.getRGB() });
-        imageData = new ImageData(7, imageHeight, 4, palette);
-        imageData.transparentPixel = 1;
-        arrowRightImage = new Image(display, imageData);
-        gc = new GC(arrowRightImage);
-        gc.setBackground(background);
-        gc.fillRectangle(0, 0, 7, imageHeight);
-        gc.setBackground(black);
-        //draw a 9x5 '>' centered vertically in image
-        pointArr = new int[] { 1, midpoint - 5, 6, midpoint, 1, midpoint + 5, };
-        gc.fillPolygon(pointArr);
-        gc.dispose();
-
-        if (maxHeight < imageHeight) {
-            //rescale image
-            Image leftTemp = scaleImage(arrowLeftImage, imageHeight, maxHeight);
-            arrowLeftImage.dispose();
-            arrowLeftImage = leftTemp;
-
-            Image rightTemp = scaleImage(arrowRightImage, imageHeight,
-                    maxHeight);
-            arrowRightImage.dispose();
-            arrowRightImage = rightTemp;
-        }
-        left.setImage(arrowLeftImage);
-        right.setImage(arrowRightImage);
-    }
-
-    private void onMouseDoubleClick(Event event) {
-        Event e = new Event();
-        e.item = getItem(new Point(event.x, event.y));
-        notifyListeners(SWT.DefaultSelection, e);
-    }
-
-    /** 
-     * A mouse button was pressed down. 
-     * If a tab was hit select the tab.
-     */
-    private void onMouseDown(Event event) {
-        for (int i = 0; i < items.length; i++) {
-            if (items[i].getBounds().contains(new Point(event.x, event.y))) {
-                if (i == selectedIndex) {
-                    showSelection();
-                    return;
-                }
-                forceFocus();
-                setSelection(i, true);
-                if (isFocusControl()) {
-					setFocus();
-				}
-                return;
-            }
-        }
-    }
-
-    private void onMouseExit(Event event) {
-        Rectangle inactiveBounds = inactiveCloseBar.getBounds();
-        if (inactiveBounds.contains(event.x, event.y)) {
-			return;
-		}
-        inactiveCloseBar.setVisible(false);
-        inactiveItem = null;
-
-        showToolTip = false;
-        toolTipItem = null;
-        if (tip != null && !tip.isDisposed() && tip.isVisible()) {
-			tip.setVisible(false);
-		}
-    }
-
-    private void onMouseHover(Event event) {
-        if (tip == null || tip.isDisposed()) {
-			return;
-		}
-        showToolTip = true;
-        showToolTip(event.x, event.y);
-    }
-
-    private void showToolTip(int x, int y) {
-        CTabItem item = getItem(new Point(x, y));
-        if (item != null) {
-            if (item == toolTipItem) {
-				return;
-			}
-            toolTipItem = item;
-            String tooltip = item.getToolTipText();
-            if (tooltip != null && tooltip.length() > 0) {
-                Display display = tip.getDisplay();
-                label.setForeground(display
-                        .getSystemColor(SWT.COLOR_INFO_FOREGROUND));
-                label.setBackground(display
-                        .getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-                label.setText(tooltip);
-                Point labelSize = label.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-                labelSize.x += 2;
-                labelSize.y += 2;
-                label.setSize(labelSize);
-                tip.pack();
-                /*
-                 * On some platforms, there is a minimum size for a shell  
-                 * which may be greater than the label size.
-                 * To avoid having the background of the tip shell showing
-                 * around the label, force the label to fill the entire client area.
-                 */
-                Rectangle area = tip.getClientArea();
-                label.setSize(area.width, area.height);
-                /*
-                 * Position the tooltip and ensure that it is not located off
-                 * the screen.
-                 */
-                Point pt = new Point(item.x + item.width / 4, item.y
-                        + item.height + 2);
-                pt = toDisplay(pt);
-                Rectangle rect = display.getBounds();
-                Point tipSize = tip.getSize();
-                pt.x = Math.max(0, Math.min(pt.x, rect.width - tipSize.x));
-                pt.y = Math.max(0, Math.min(pt.y, rect.height - tipSize.y));
-                tip.setLocation(pt);
-                tip.setVisible(true);
-                return;
-            }
-        }
-
-        toolTipItem = null;
-        if (tip != null && !tip.isDisposed() && tip.isVisible()) {
-			tip.setVisible(false);
-		}
-    }
-
-    private void onMouseMove(Event event) {
-        if (showToolTip) {
-            showToolTip(event.x, event.y);
-        }
-
-        if (!showClose) {
-			return;
-		}
-
-        CTabItem item = null;
-        for (int i = 0; i < items.length; i++) {
-            Rectangle rect = items[i].getBounds();
-            if (rect.contains(new Point(event.x, event.y))) {
-                item = items[i];
-                break;
-            }
-        }
-        if (item == inactiveItem) {
-			return;
-		}
-
-        inactiveCloseBar.setVisible(false);
-        inactiveItem = null;
-
-        if (item == null || item == getSelection()) {
-			return;
-		}
-
-        int toolbarHeight = tabHeight - CTabItem.TOP_MARGIN
-                - CTabItem.BOTTOM_MARGIN + 2; // +2 to ignore gap between focus rectangle
-        Point size = inactiveCloseBar.computeSize(SWT.DEFAULT, toolbarHeight);
-        int x = item.x + item.width - size.x - 2; // -2 to not overlap focus rectangle and trim
-        int y = item.y + Math.max(0, (item.height - toolbarHeight) / 2);
-        Rectangle toolspace = getToolSpace();
-        Point folderSize = getSize();
-        if ((toolspace.width == 0 || x < toolspace.x)
-                && x + size.x < folderSize.x - borderRight) {
-            inactiveCloseBar.setBounds(x, y, size.x, toolbarHeight);
-            inactiveCloseBar.setVisible(true);
-            inactiveItem = item;
-        }
-    }
-
-    private void onTraverse(Event event) {
-        switch (event.detail) {
-        case SWT.TRAVERSE_ESCAPE:
-        // TEMPORARY CODE See bug report 17372
-        //		case SWT.TRAVERSE_RETURN:
-        case SWT.TRAVERSE_TAB_NEXT:
-        case SWT.TRAVERSE_TAB_PREVIOUS:
-            event.doit = true;
-            break;
-        case SWT.TRAVERSE_MNEMONIC:
-            event.doit = onMnemonic(event);
-            if (event.doit) {
-				event.detail = SWT.TRAVERSE_NONE;
-			}
-            break;
-        case SWT.TRAVERSE_PAGE_NEXT:
-        case SWT.TRAVERSE_PAGE_PREVIOUS:
-            event.doit = onPageTraversal(event);
-            if (event.doit) {
-				event.detail = SWT.TRAVERSE_NONE;
-			}
-            break;
-        }
-    }
-
-    private boolean onPageTraversal(Event event) {
-        int count = getItemCount();
-        if (count == 0) {
-			return false;
-		}
-        int index = getSelectionIndex();
-        if (index == -1) {
-            index = 0;
-        } else {
-            int offset = (event.detail == SWT.TRAVERSE_PAGE_NEXT) ? 1 : -1;
-            index = (index + offset + count) % count;
-        }
-        setSelection(index, true);
-        return true;
-    }
-
-    /**
-     * Answer true if not all tabs can be visible in the receive
-     * thus requiring the scroll buttons to be visible.
-     */
-    private boolean scroll_leftVisible() {
-        return topTabIndex > 0;
-    }
-
-    /**
-     * Answer true if not all tabs can be visible in the receive
-     * thus requiring the scroll buttons to be visible.
-     */
-    private boolean scroll_rightVisible() {
-        // only show Scroll buttons if there is more than one item
-        // and if we are not already at the last item
-        if (items.length < 2) {
-			return false;
-		}
-        Rectangle area = getClientArea();
-        int rightEdge = area.x + area.width;
-        if (rightEdge <= 0) {
-			return false;
-		}
-        if (topTabIndex > 0) {
-            rightEdge -= arrowBar.getSize().x;
-        }
-        if (topRight != null) {
-            rightEdge -= topRight.getSize().x;
-        }
-        CTabItem item = items[items.length - 1];
-        return (item.x + item.width > rightEdge);
-    }
-
-    /**
-     * Scroll the tab items to the left.
-     */
-    private void scroll_scrollLeft() {
-        if (items.length == 0) {
-			return;
-		}
-        setLastItem(topTabIndex - 1);
-    }
-
-    /**
-     * Scroll the tab items to the right.
-     */
-    private void scroll_scrollRight() {
-        int lastIndex = getLastItem();
-        topTabIndex = lastIndex + 1;
-        setItemLocation();
-        correctLastItem();
-        redrawTabArea(-1);
-    }
-
-    private boolean correctLastItem() {
-        Rectangle area = getClientArea();
-        int rightEdge = area.x + area.width;
-        if (rightEdge <= 0) {
-			return false;
-		}
-        Rectangle toolspace = getToolSpace();
-        if (toolspace.width > 0) {
-            rightEdge -= toolspace.width;
-        }
-        CTabItem item = items[items.length - 1];
-        if (item.x + item.width < rightEdge) {
-            setLastItem(items.length - 1);
-            return true;
-        }
-        return false;
-    }
-
-    /**
-     * Specify a fixed height for the tab items.  If no height is specified,
-     * the default height is the height of the text or the image, whichever 
-     * is greater. Specifying a height of 0 will revert to the default height.
-     * 
-     * @param height the pixel value of the height or 0
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     *    <li>ERROR_INVALID_ARGUMENT - if called with a height of less than 0</li>
-     * </ul>
-     */
-    public void setTabHeight(int height) {
-        checkWidget();
-        if (height < 0) {
-            SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-        }
-        fixedTabHeight = true;
-        if (tabHeight == height) {
-			return;
-		}
-        tabHeight = height;
-        oldSize = null;
-        notifyListeners(SWT.Resize, new Event());
-    }
-
-    void resetTabSize(boolean checkHeight) {
-        int oldHeight = tabHeight;
-        if (!fixedTabHeight && checkHeight) {
-            int tempHeight = 0;
-            GC gc = new GC(this);
-            for (int i = 0; i < items.length; i++) {
-                tempHeight = Math.max(tempHeight, items[i].preferredHeight(gc));
-            }
-            gc.dispose();
-            if (topRight != null) {
-				tempHeight = Math.max(tempHeight, topRight.computeSize(
-                        SWT.DEFAULT, SWT.DEFAULT).y);
-			}
-            tabHeight = tempHeight;
-        }
-
-        if (tabHeight != oldHeight) {
-            oldSize = null;
-            notifyListeners(SWT.Resize, new Event());
-        } else {
-            setItemBounds();
-            redraw();
-        }
-    }
-
-    /**
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     *    <li>ERROR_INVALID_ARGUMENT - if the position value is not either SWT.TOP or SWT.BOTTOM</li>
-     * </ul>
-     * 
-     * UNDER CONSTRUCTION
-     * @since 3.0
-     */
-    public void setTabPosition(int position) {
-        checkWidget();
-        if (position != SWT.TOP && position != SWT.BOTTOM) {
-            SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-        }
-        if (onBottom != (position == SWT.BOTTOM)) {
-            onBottom = position == SWT.BOTTOM;
-            setBorderVisible(showBorders);
-            resetTabSize(true);
-            //		updateTabHeight(true);
-            //		Rectangle rectBefore = getClientArea();
-            //		updateItems();
-            //		Rectangle rectAfter = getClientArea();
-            //		if (!rectBefore.equals(rectAfter)) {
-            //			notifyListeners(SWT.Resize, new Event());
-            //		}
-            //		setItemBounds();
-            //		redrawTabArea(-1);
-            //		redraw();
-        }
-    }
-
-    public int getTabPosition() {
-        if (onBottom) {
-			return SWT.BOTTOM;
-		}
-        return SWT.TOP;
-    }
-
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderEvent.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderEvent.java
deleted file mode 100644
index 0e20574..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderEvent.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-import org.eclipse.swt.events.TypedEvent;
-import org.eclipse.swt.widgets.Widget;
-
-public class CTabFolderEvent extends TypedEvent {
-
-    /**
-     * Generated serial version UID for this class.
-     * @since 3.1
-     */
-    private static final long serialVersionUID = 3258688793199719730L;
-
-    public Widget item;
-
-    public boolean doit;
-
-    CTabFolderEvent(Widget w) {
-        super(w);
-    }
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderListener.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderListener.java
deleted file mode 100644
index 83f24fd..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderListener.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-public interface CTabFolderListener {
-    public void itemClosed(CTabFolderEvent event);
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabItem.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabItem.java
deleted file mode 100644
index e3d5bb8..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabItem.java
+++ /dev/null
@@ -1,618 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Widget;
-
-public class CTabItem extends Item {
-    CTabFolder parent;
-
-    int x, y, width, height = 0;
-
-    String toolTipText;
-
-    Control control; // the tab page
-
-    private Image disabledImage;
-
-    // internal constants
-    static final int LEFT_MARGIN = 4;
-
-    static final int RIGHT_MARGIN = 4;
-
-    static final int TOP_MARGIN = 3;
-
-    static final int BOTTOM_MARGIN = 3;
-
-    private static final int INTERNAL_SPACING = 2;
-
-    private static final String ellipsis = "..."; //$NON-NLS-1$
-
-    String shortenedText;
-
-    int shortenedTextWidth;
-
-    /**
-     * Constructs a new instance of this class given its parent
-     * (which must be a <code>CTabFolder</code>) and a style value
-     * describing its behavior and appearance. The item is added
-     * to the end of the items maintained by its parent.
-     * <p>
-     * The style value is either one of the style constants defined in
-     * class <code>SWT</code> which is applicable to instances of this
-     * class, or must be built by <em>bitwise OR</em>'ing together 
-     * (that is, using the <code>int</code> "|" operator) two or more
-     * of those <code>SWT</code> style constants. The class description
-     * lists the style constants that are applicable to the class.
-     * Style bits are also inherited from superclasses.
-     * </p>
-     *
-     * @param parent a CTabFolder which will be the parent of the new instance (cannot be null)
-     * @param style the style of control to construct
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
-     * </ul>
-     *
-     * @see SWT
-     * @see Widget#getStyle
-     */
-    public CTabItem(CTabFolder parent, int style) {
-        this(parent, style, parent.getItemCount());
-    }
-
-    /**
-     * Constructs a new instance of this class given its parent
-     * (which must be a <code>CTabFolder</code>), a style value
-     * describing its behavior and appearance, and the index
-     * at which to place it in the items maintained by its parent.
-     * <p>
-     * The style value is either one of the style constants defined in
-     * class <code>SWT</code> which is applicable to instances of this
-     * class, or must be built by <em>bitwise OR</em>'ing together 
-     * (that is, using the <code>int</code> "|" operator) two or more
-     * of those <code>SWT</code> style constants. The class description
-     * lists the style constants that are applicable to the class.
-     * Style bits are also inherited from superclasses.
-     * </p>
-     *
-     * @param parent a CTabFolder which will be the parent of the new instance (cannot be null)
-     * @param style the style of control to construct
-     * @param index the index to store the receiver in its parent
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
-     * </ul>
-     *
-     * @see SWT
-     * @see Widget#getStyle
-     */
-    public CTabItem(CTabFolder parent, int style, int index) {
-        super(parent, checkStyle(style));
-        parent.createItem(this, index);
-    }
-
-    private static int checkStyle(int style) {
-        return SWT.NONE;
-    }
-
-    public void dispose() {
-        if (isDisposed()) {
-			return;
-		}
-        parent.destroyItem(this);
-        super.dispose();
-        parent = null;
-        control = null;
-        toolTipText = null;
-    }
-
-    /**
-     * Returns a rectangle describing the receiver's size and location
-     * relative to its parent.
-     *
-     * @return the receiver's bounding column rectangle
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public Rectangle getBounds() {
-        //checkWidget();
-        return new Rectangle(x, y, width, height);
-    }
-
-    /**
-     * Gets the control that is displayed in the content are of the tab item.
-     *
-     * @return the control
-     *
-     * @exception SWTError(ERROR_THREAD_INVALID_ACCESS)
-     *	when called from the wrong thread
-     * @exception SWTError(ERROR_WIDGET_DISPOSED)
-     *	when the widget has been disposed
-     */
-    public Control getControl() {
-        checkWidget();
-        return control;
-    }
-
-    public Display getDisplay() {
-        if (parent == null) {
-			SWT.error(SWT.ERROR_WIDGET_DISPOSED);
-		}
-        return parent.getDisplay();
-    }
-
-    /**
-     * Get the image displayed in the tab if the tab is disabled.
-     * 
-     * @return the disabled image or null
-     */
-    public Image getDisabledImage() {
-        //checkWidget();
-        return disabledImage;
-    }
-
-    /**
-     * Returns the receiver's parent, which must be a <code>CTabFolder</code>.
-     *
-     * @return the receiver's parent
-     */
-    public CTabFolder getParent() {
-        //checkWidget();
-        return parent;
-    }
-
-    /**
-     * Returns the receiver's tool tip text, or null if it has
-     * not been set.
-     *
-     * @return the receiver's tool tip text
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public String getToolTipText() {
-        checkWidget();
-        return toolTipText;
-    }
-
-    /**
-     * Paint the receiver.
-     */
-    void onPaint(GC gc, boolean isSelected) {
-
-        if (width == 0 || height == 0) {
-			return;
-		}
-
-        Display display = getDisplay();
-        Color highlightShadow = display
-                .getSystemColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW);
-        Color normalShadow = display
-                .getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
-
-        int index = parent.indexOf(this);
-
-        if (isSelected) {
-
-            Rectangle bounds = null;
-            if (!parent.onBottom) {
-                if (index == parent.topTabIndex) {
-                    bounds = new Rectangle(x + 1, y + 1, width - 2, height - 1);
-                } else {
-                    bounds = new Rectangle(x + 2, y + 1, width - 3, height - 1);
-                }
-            } else {
-                if (index == parent.topTabIndex) {
-                    bounds = new Rectangle(x + 1, y + 1, width - 2, height - 2);
-                } else {
-                    bounds = new Rectangle(x + 2, y + 1, width - 3, height - 2);
-                }
-            }
-            if (parent.backgroundImage != null) {
-                // draw a background image behind the text
-                Rectangle imageRect = parent.backgroundImage.getBounds();
-                gc.drawImage(parent.backgroundImage, 0, 0, imageRect.width,
-                        imageRect.height, bounds.x, bounds.y, bounds.width,
-                        bounds.height);
-            } else if (parent.gradientColors != null) {
-                // draw a gradient behind the text
-                Color oldBackground = gc.getBackground();
-                if (parent.gradientColors.length == 1) {
-                    if (parent.gradientColors[0] != null) {
-						gc.setBackground(parent.gradientColors[0]);
-					}
-                    gc.fillRectangle(bounds.x, bounds.y, bounds.width,
-                            bounds.height);
-                } else {
-                    Color oldForeground = gc.getForeground();
-                    Color lastColor = parent.gradientColors[0];
-                    if (lastColor == null) {
-						lastColor = oldBackground;
-					}
-                    for (int i = 0, pos = 0; i < parent.gradientPercents.length; ++i) {
-                        gc.setForeground(lastColor);
-                        lastColor = parent.gradientColors[i + 1];
-                        if (lastColor == null) {
-							lastColor = oldBackground;
-						}
-                        gc.setBackground(lastColor);
-                        int gradientWidth = (parent.gradientPercents[i]
-                                * bounds.width / 100)
-                                - pos;
-                        gc.fillGradientRectangle(bounds.x + pos, bounds.y,
-                                gradientWidth, bounds.height, false);
-                        pos += gradientWidth;
-                    }
-                    gc.setForeground(oldForeground);
-                }
-                gc.setBackground(oldBackground);
-            }
-
-            // draw tab lines
-            if (!parent.onBottom) {
-                gc.setForeground(normalShadow);
-                if (index != parent.topTabIndex) {
-                    gc.drawLine(x + 1, y, x + 1, y);
-                    gc.drawLine(x, y + 1, x, y + height - 2);
-                    gc.drawLine(x, y + height - 1, x, y + height - 1);
-                }
-                gc.drawLine(x + width - 1, y, x + width - 1, y);
-                gc.drawLine(x + width, y + 1, x + width, y + height - 2);
-                gc.drawLine(x + width, y + height - 1, x + width, y + height
-                        - 1);
-
-                gc.setForeground(highlightShadow);
-                if (index != parent.topTabIndex) {
-                    gc.drawLine(x + 2, y, x + 2, y);
-                    gc.drawLine(x + 1, y + 1, x + 1, y + height - 2);
-                    gc.drawLine(x + 1, y + height - 1, x + 1, y + height - 1);
-                } else {
-                    gc.drawLine(x, y, x, y + height - 1);
-                }
-
-                gc.drawLine(x + width - 2, y, x + width - 2, y);
-                gc
-                        .drawLine(x + width - 1, y + 1, x + width - 1, y
-                                + height - 2);
-                gc.drawLine(x + width - 1, y + height - 1, x + width - 1, y
-                        + height - 1);
-
-                // light line across top
-                if (index != parent.topTabIndex) {
-                    gc.drawLine(x + 3, y, x + width - 3, y);
-                } else {
-                    gc.drawLine(x + 1, y, x + width - 3, y);
-                }
-            } else {
-                gc.setForeground(normalShadow);
-                if (index != parent.topTabIndex) {
-                    gc.drawLine(x, y, x, y);
-                    gc.drawLine(x, y + 1, x, y + height - 2);
-                    gc.drawLine(x + 1, y + height - 1, x + 1, y + height - 1);
-                }
-                gc.drawLine(x + width, y, x + width, y);
-                gc.drawLine(x + width, y + 1, x + width, y + height - 2);
-                gc.drawLine(x + width - 1, y + height - 1, x + width - 1, y
-                        + height - 1);
-
-                gc.setForeground(highlightShadow);
-                if (index != parent.topTabIndex) {
-                    gc.drawLine(x + 1, y, x + 1, y);
-                    gc.drawLine(x + 1, y + 1, x + 1, y + height - 2);
-                    gc.drawLine(x + 2, y + height - 1, x + 2, y + height - 1);
-                } else {
-                    gc.drawLine(x, y, x, y + height - 1);
-                }
-
-                gc.drawLine(x + width - 1, y, x + width - 1, y);
-                gc
-                        .drawLine(x + width - 1, y + 1, x + width - 1, y
-                                + height - 2);
-                gc.drawLine(x + width - 2, y + height - 1, x + width - 2, y
-                        + height - 1);
-
-                // light line across top and bottom
-                if (index != parent.topTabIndex) {
-                    gc.drawLine(x + 1, y, x + width - 2, y);
-                    gc.drawLine(x + 2, y + height - 1, x + width - 3, y
-                            + height - 1);
-                } else {
-                    gc.drawLine(x + 1, y, x + width - 2, y);
-                    gc.drawLine(x + 1, y + height - 1, x + width - 3, y
-                            + height - 1);
-                }
-            }
-            if (parent.isFocusControl()) {
-                // draw a focus rectangle
-                int x1, y1, width1, height1;
-                if (!parent.onBottom) {
-                    if (index == parent.topTabIndex) {
-                        x1 = x + 1;
-                        y1 = y + 1;
-                        width1 = width - 2;
-                        height1 = height - 1;
-                    } else {
-                        x1 = x + 2;
-                        y1 = y + 1;
-                        width1 = width - 3;
-                        height1 = height - 1;
-                    }
-                } else {
-                    if (index == parent.topTabIndex) {
-                        x1 = x + 1;
-                        y1 = y + 1;
-                        width1 = width - 2;
-                        height1 = height - 2;
-                    } else {
-                        x1 = x + 2;
-                        y1 = y + 1;
-                        width1 = width - 3;
-                        height1 = height - 2;
-                    }
-                }
-                gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
-                gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE));
-                gc.drawFocus(x1, y1, width1, height1);
-            }
-        } else {
-            // draw tab lines for unselected items
-            gc.setForeground(normalShadow);
-            if (!parent.onBottom) {
-                if (index != parent.topTabIndex
-                        && index != parent.getSelectionIndex() + 1) {
-                    gc.drawLine(x, y, x, y + (height / 2));
-                }
-            } else {
-                if (index != parent.topTabIndex
-                        && index != parent.getSelectionIndex() + 1) {
-                    gc.drawLine(x, y + (height / 2), x, y + height - 1);
-                }
-            }
-
-        }
-
-        // draw Image
-        int xDraw = x + LEFT_MARGIN;
-
-        Image image = getImage();
-        if (!isSelected && image != null) {
-            Image temp = getDisabledImage();
-            if (temp != null) {
-                image = temp;
-            }
-        }
-        if (image != null) {
-            Rectangle imageBounds = image.getBounds();
-            int imageX = xDraw;
-            int imageHeight = Math.min(height - BOTTOM_MARGIN - TOP_MARGIN,
-                    imageBounds.height);
-            int imageY = y + (height - imageHeight) / 2;
-            int imageWidth = imageBounds.width * imageHeight
-                    / imageBounds.height;
-            gc.drawImage(image, imageBounds.x, imageBounds.y,
-                    imageBounds.width, imageBounds.height, imageX, imageY,
-                    imageWidth, imageHeight);
-            xDraw += imageWidth + INTERNAL_SPACING;
-        }
-
-        // draw Text
-        int textWidth = x + width - xDraw - RIGHT_MARGIN;
-        if (isSelected && parent.showClose) {
-            textWidth = x + width - xDraw - parent.closeBar.getSize().x
-                    - RIGHT_MARGIN;
-        }
-        if (shortenedText == null || shortenedTextWidth != textWidth) {
-            shortenedText = shortenText(gc, getText(), textWidth);
-            shortenedTextWidth = textWidth;
-        }
-        String text = shortenedText;
-
-        if (isSelected && parent.selectionForeground != null) {
-            gc.setForeground(parent.selectionForeground);
-        } else {
-            gc.setForeground(parent.getForeground());
-        }
-        int textY = y + (height - gc.textExtent(text, SWT.DRAW_MNEMONIC).y) / 2;
-        gc.drawText(text, xDraw, textY, SWT.DRAW_TRANSPARENT
-                | SWT.DRAW_MNEMONIC);
-
-        gc.setForeground(parent.getForeground());
-    }
-
-    private static String shortenText(GC gc, String text, int width) {
-        if (gc.textExtent(text, SWT.DRAW_MNEMONIC).x <= width) {
-			return text;
-		}
-
-        int ellipseWidth = gc.textExtent(ellipsis, SWT.DRAW_MNEMONIC).x;
-        int length = text.length();
-        int end = length - 1;
-        while (end > 0) {
-            text = text.substring(0, end);
-            int l1 = gc.textExtent(text, SWT.DRAW_MNEMONIC).x;
-            if (l1 + ellipseWidth <= width) {
-                return text + ellipsis;
-            }
-            end--;
-        }
-        return text + ellipsis;
-    }
-
-    /**
-     * Answer the preferred height of the receiver for the GC.
-     */
-    int preferredHeight(GC gc) {
-        Image image = getImage();
-        int height = 0;
-        if (image != null) {
-			height = image.getBounds().height;
-		}
-        String text = getText();
-        height = Math.max(height, gc.textExtent(text, SWT.DRAW_MNEMONIC).y);
-        return height + TOP_MARGIN + BOTTOM_MARGIN;
-    }
-
-    /**
-     * Answer the preferred width of the receiver for the GC.
-     */
-    int preferredWidth(GC gc) {
-        int width = 0;
-        Image image = getImage();
-        if (image != null) {
-			width += image.getBounds().width;
-		}
-        String text = getText();
-        if (text != null) {
-            if (image != null) {
-				width += INTERNAL_SPACING;
-			}
-            width += gc.textExtent(text, SWT.DRAW_MNEMONIC).x;
-        }
-        if (parent.showClose) {
-			width += INTERNAL_SPACING + preferredHeight(gc); // closebar will be square and will fill preferred height
-		}
-        return width + LEFT_MARGIN + RIGHT_MARGIN;
-    }
-
-    /**
-     * Sets the control that is used to fill the client area of
-     * the tab folder when the user selects the tab item.
-     * <p>
-     * @param control the new control (or null)
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_INVALID_ARGUMENT - if the control has been disposed</li> 
-     *    <li>ERROR_INVALID_PARENT - if the control is not in the same widget tree</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setControl(Control control) {
-        checkWidget();
-        if (control != null) {
-            if (control.isDisposed()) {
-				SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-			}
-            if (control.getParent() != parent) {
-				SWT.error(SWT.ERROR_INVALID_PARENT);
-			}
-        }
-        if (this.control != null && !this.control.isDisposed()) {
-            this.control.setVisible(false);
-        }
-        this.control = control;
-        if (this.control != null) {
-            int index = parent.indexOf(this);
-            if (index == parent.getSelectionIndex()) {
-                this.control.setBounds(parent.getClientArea());
-                this.control.setVisible(true);
-            } else {
-                this.control.setVisible(false);
-            }
-        }
-    }
-
-    public void setImage(Image image) {
-        checkWidget();
-        if (image != null && image.equals(getImage())) {
-			return;
-		}
-        super.setImage(image);
-        parent.resetTabSize(true);
-    }
-
-    /**
-     * Sets the image that is displayed if the tab item is disabled.
-     * Null will clear the image.
-     * 
-     * @param image the image to be displayed when the item is disabled or null
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setDisabledImage(Image image) {
-        checkWidget();
-        if (image != null && image.equals(getDisabledImage())) {
-			return;
-		}
-        disabledImage = image;
-        parent.redraw();
-    }
-
-    /**
-     * Set the widget text.
-     * <p>
-     * This method sets the widget label.  The label may include
-     * mnemonic characters but must not contain line delimiters.
-     *
-     * @param string the new label for the widget
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the text is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setText(String string) {
-        checkWidget();
-        if (string.equals(getText())) {
-			return;
-		}
-        super.setText(string);
-        shortenedText = null;
-        shortenedTextWidth = 0;
-        parent.resetTabSize(false);
-    }
-
-    /**
-     * Sets the receiver's tool tip text to the argument, which
-     * may be null indicating that no tool tip text should be shown.
-     *
-     * @param string the new tool tip text (or null)
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setToolTipText(String string) {
-        checkWidget();
-        toolTipText = string;
-    }
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolder.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolder.java
deleted file mode 100644
index 0a67928..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolder.java
+++ /dev/null
@@ -1,487 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.internal.layout.SizeCache;
-import org.eclipse.ui.internal.presentations.util.ProxyControl;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-
-/**
- * This class implements the tab folders that contains can contain two toolbars and
- * status text. Wherever possible, the toolbars are aligned with the tabs. 
- * If there is not enough room beside the tabs, the toolbars are aligned with the status text. This
- * is the same tab folder that is used to arrange views and editors in Eclipse. 
- * <p>
- * This is closely related to DefaultPartPresentation, but they have different responsibilities. This
- * is essentially a CTabFolder that can manage a toolbar. It should not depend on 
- * data structures from the workbench, and its public interface should only use SWT objects or
- * listeners. DefaultPartPresentation uses a PaneFolder to arrange views or editors. Knowledge
- * of higher-level data structures should go there. 
- * </p>
- * <p>
- * Although it is not actually a control, the public interface is much like 
- * an SWT control. Implementation-wise, this is actually a combination of a CTabFolder and 
- * a ViewForm. It encapsulates the details of moving the toolbar between the CTabFolder and
- * the ViewForm, and provides a simpler interface to the ViewForm/CTabFolder. 
- * </p>
- * 
- * @since 3.0
- */
-public final class R21PaneFolder {
-    // Tab folder and associated proxy controls
-    private CTabFolder tabFolder;
-
-    //	private Control titleAreaProxy;	
-
-    // View form and associated proxy controls
-    private ViewForm viewForm;
-
-    private ProxyControl contentProxy;
-
-    private ProxyControl viewFormTopLeftProxy;
-
-    private ProxyControl viewFormTopRightProxy;
-
-    private ProxyControl viewFormTopCenterProxy;
-
-    // Cached sizes of the top-right and top-center controls
-    private SizeCache topRightCache = new SizeCache();
-
-    private SizeCache topCenterCache = new SizeCache();
-
-    private SizeCache topLeftCache = new SizeCache();
-
-    private int tabPos;
-
-    private boolean putTrimOnTop = false;
-
-    /**
-     * List of PaneFolderButtonListener
-     */
-    private List buttonListeners = new ArrayList(1);
-
-    private int state = IStackPresentationSite.STATE_RESTORED;
-
-    /**
-     * State of the folder at the last mousedown event. This is used to prevent
-     * a mouseup over the minimize or maximize buttons from undoing a state change 
-     * that was caused by the mousedown.
-     */
-    private int mousedownState = -1;
-
-    //	// CTabFolder listener
-    //	private CTabFolder2Adapter expandListener = new CTabFolder2Adapter() {
-    //		public void minimize(CTabFolderEvent event) {
-    //			event.doit = false;
-    //			notifyButtonListeners(IStackPresentationSite.STATE_MINIMIZED);
-    //		}
-    //		
-    //		public void restore(CTabFolderEvent event) {
-    //			event.doit = false;
-    //			notifyButtonListeners(IStackPresentationSite.STATE_RESTORED);
-    //		}
-    //		
-    //		public void maximize(CTabFolderEvent event) {
-    //			event.doit = false;
-    //			notifyButtonListeners(IStackPresentationSite.STATE_MAXIMIZED);
-    //		}
-    //		
-    //		/* (non-Javadoc)
-    //		 * @see org.eclipse.swt.custom.CTabFolder2Adapter#close(org.eclipse.swt.custom.CTabFolderEvent)
-    //		 */
-    //		public void close(CTabFolderEvent event) {
-    //			event.doit = false;
-    //			notifyCloseListeners((CTabItem)event.item);
-    //		}
-    //		
-    //		public void showList(CTabFolderEvent event) {
-    //			notifyShowListeners(event);
-    //		}
-    //		
-    //	};
-    //	
-    private MouseListener mouseListener = new MouseAdapter() {
-        public void mouseDown(MouseEvent e) {
-            mousedownState = getState();
-        }
-
-        public void mouseDoubleClick(MouseEvent e) {
-        }
-    };
-
-    /**
-     * Creates a pane folder. This will create exactly one child control in the
-     * given parent.
-     * 
-     * @param parent
-     * @param flags
-     */
-    public R21PaneFolder(Composite parent, int flags) {
-        // Initialize tab folder
-        {
-            tabFolder = new CTabFolder(parent, flags);
-
-            //			// Create a proxy control to measure the title area of the tab folder
-            //			titleAreaProxy = new Composite(tabFolder, SWT.NONE);
-            //			titleAreaProxy.setVisible(false);
-            //			tabFolder.setTopRight(titleAreaProxy, SWT.FILL);
-
-            //			tabFolder.addCTabFolder2Listener(expandListener);
-            //			
-            tabFolder.addMouseListener(mouseListener);
-        }
-
-        // Initialize view form
-        {
-            viewForm = new ViewForm(tabFolder, SWT.NONE);
-
-            // Only attach these to the viewForm when there's actuall a control to display
-            viewFormTopLeftProxy = new ProxyControl(viewForm);
-            viewFormTopCenterProxy = new ProxyControl(viewForm);
-            viewFormTopRightProxy = new ProxyControl(viewForm);
-
-            contentProxy = new ProxyControl(viewForm);
-            viewForm.setContent(contentProxy.getControl());
-        }
-    }
-
-    /**
-     * Return the main control for this pane folder
-     * 
-     * @return Composite the control
-     */
-    public Composite getControl() {
-        return tabFolder;
-    }
-
-    /**
-     * Sets the top-center control (usually a toolbar), or null if none.
-     * Note that the control can have any parent.
-     * 
-     * @param topCenter the top-center control or null if none
-     */
-    public void setTopCenter(Control topCenter) {
-        topCenterCache.setControl(topCenter);
-        if (topCenter != null) {
-            if (!putTrimOnTop) {
-                viewFormTopCenterProxy.setTarget(topCenterCache);
-                viewForm.setTopCenter(viewFormTopCenterProxy.getControl());
-            }
-        } else {
-            if (!putTrimOnTop) {
-                viewForm.setTopCenter(null);
-            }
-        }
-    }
-
-    /**
-     * Sets the top-right control (usually a dropdown), or null if none
-     * 
-     * @param topRight
-     */
-    public void setTopRight(Control topRight) {
-        topRightCache.setControl(topRight);
-        if (topRight != null) {
-            if (!putTrimOnTop) {
-                viewFormTopRightProxy.setTarget(topRightCache);
-                viewForm.setTopRight(viewFormTopRightProxy.getControl());
-            }
-        } else {
-            if (!putTrimOnTop) {
-                viewForm.setTopRight(null);
-            }
-        }
-    }
-
-    /**
-     * Sets the top-left control (usually a title label), or null if none
-     * 
-     * @param topLeft
-     */
-    public void setTopLeft(Control topLeft) {
-        if (topLeftCache.getControl() != topLeft) {
-            topLeftCache.setControl(topLeft);
-            // The top-left control always goes directly in the ViewForm
-            if (topLeft != null) {
-                viewFormTopLeftProxy.setTarget(topLeftCache);
-                viewForm.setTopLeft(viewFormTopLeftProxy.getControl());
-            } else {
-                viewFormTopLeftProxy.setTargetControl(null);
-                viewForm.setTopLeft(null);
-            }
-        }
-    }
-
-    /**
-     * Flush all of this folder's size caches to ensure they will be re-computed
-     * on the next layout.
-     */
-    public void flush() {
-        topLeftCache.flush();
-        topRightCache.flush();
-        topCenterCache.flush();
-    }
-
-    /**
-     * Layout the receiver, flusing the cache if needed.
-     * 
-     * @param flushCache
-     */
-    public void layout(boolean flushCache) {
-        // Flush the cached sizes if necessary
-        if (flushCache) {
-			flush();
-		}
-
-        Rectangle tabFolderClientArea = tabFolder.getClientArea();
-
-        // Hide tabs if there is only one
-        if (tabFolder.getItemCount() < 2) {
-            //Rectangle tabFolderBounds = tabFolder.getBounds();
-
-            int delta = getTabHeight() + 1;
-            tabFolderClientArea.height += delta;
-
-            if (getTabPosition() == SWT.TOP) {
-                tabFolderClientArea.y -= delta;
-            }
-        }
-
-        viewForm.setBounds(tabFolderClientArea);
-        viewFormTopRightProxy.layout();
-        viewFormTopLeftProxy.layout();
-        viewFormTopCenterProxy.layout();
-    }
-
-    /**
-     * Returns the client area for this PaneFolder, relative to the pane folder's control.
-     * 
-     * @return Rectangle the client area 
-     */
-    public Rectangle getClientArea() {
-        Rectangle bounds = contentProxy.getControl().getBounds();
-
-        Rectangle formArea = viewForm.getBounds();
-
-        bounds.x += formArea.x;
-        bounds.y += formArea.y;
-
-        return bounds;
-    }
-
-    /**
-     * Returns the current state of the folder (as shown on the button icons)
-     * 
-     * @return one of the IStackPresentationSite.STATE_* constants
-     */
-    public int getState() {
-        return state;
-    }
-
-    /**
-     * @param buttonId one of the IStackPresentationSite.STATE_* constants
-     */
-    protected void notifyButtonListeners(int buttonId) {
-        if (mousedownState == getState()) {
-            Iterator iter = buttonListeners.iterator();
-
-            while (iter.hasNext()) {
-                R21PaneFolderButtonListener listener = (R21PaneFolderButtonListener) iter
-                        .next();
-
-                listener.stateButtonPressed(buttonId);
-            }
-        }
-    }
-
-    /**
-     * Notifies all listeners that the user clicked on the chevron
-     * 
-     * @param event
-     */
-    protected void notifyShowListeners(CTabFolderEvent event) {
-        Iterator iter = buttonListeners.iterator();
-
-        while (iter.hasNext()) {
-            R21PaneFolderButtonListener listener = (R21PaneFolderButtonListener) iter
-                    .next();
-
-            listener.showList(event);
-        }
-    }
-
-    /**
-     * Notifies all listeners that the close button was pressed
-     * 
-     * @param tabItem
-     */
-    protected void notifyCloseListeners(CTabItem tabItem) {
-        Iterator iter = buttonListeners.iterator();
-
-        while (iter.hasNext()) {
-            R21PaneFolderButtonListener listener = (R21PaneFolderButtonListener) iter
-                    .next();
-
-            listener.closeButtonPressed(tabItem);
-        }
-    }
-
-    /**
-     * @param listener
-     */
-    public void addButtonListener(R21PaneFolderButtonListener listener) {
-        buttonListeners.add(listener);
-    }
-
-    /**
-     * @param listener
-     */
-    public void removeButtonListener(R21PaneFolderButtonListener listener) {
-        buttonListeners.remove(listener);
-    }
-
-    /**
-     * @param newTabPosition
-     */
-    public void setTabPosition(int newTabPosition) {
-        tabPos = newTabPosition;
-        tabFolder.setTabPosition(tabPos);
-    }
-
-    /**
-     * @return int the postion of the tab
-     */
-    public int getTabPosition() {
-        return tabPos;
-    }
-
-    /**
-     * @return boolean <code>true</code> if the receiver has been disposed
-     */
-    public boolean isDisposed() {
-        return tabFolder == null || tabFolder.isDisposed();
-    }
-
-    /**
-     * @param style
-     * @param index
-     * @return CTabItem the created item
-     */
-    public CTabItem createItem(int style, int index) {
-        return new CTabItem(tabFolder, style, index);
-    }
-
-    // The remainder of the methods in this class redirect directly to CTabFolder methods
-
-    /**
-     * @param selection
-     */
-    public void setSelection(int selection) {
-        tabFolder.setSelection(selection);
-    }
-
-    /**
-     * @param i
-     * @param j
-     * @param k
-     * @param l
-     * @return Rectangle the trim rectangle
-     */
-    public Rectangle computeTrim(int i, int j, int k, int l) {
-        return tabFolder.computeTrim(i, j, k, l);
-    }
-
-    /**
-     * @param fgColor
-     */
-    public void setSelectionForeground(Color fgColor) {
-        tabFolder.setSelectionForeground(fgColor);
-    }
-
-    /**
-     * @param idx
-     * @return CTabItem the indexed item
-     */
-    public CTabItem getItem(int idx) {
-        return tabFolder.getItem(idx);
-    }
-
-    /**
-     * @return int the selected items index
-     */
-    public int getSelectionIndex() {
-        return tabFolder.getSelectionIndex();
-    }
-
-    /**
-     * @return int the height of the tabs
-     */
-    public int getTabHeight() {
-        return tabFolder.getTabHeight();
-    }
-
-    /**
-     * @param toFind
-     * @return int the index of the item to find
-     */
-    public int indexOf(CTabItem toFind) {
-        return tabFolder.indexOf(toFind);
-    }
-
-    /**
-     * @param height
-     */
-    public void setTabHeight(int height) {
-        tabFolder.setTabHeight(height);
-    }
-
-    /**
-     * @return int the item count
-     */
-    public int getItemCount() {
-        return tabFolder.getItemCount();
-    }
-
-    /**
-     * @return CTabItem the items
-     */
-    public CTabItem[] getItems() {
-        return tabFolder.getItems();
-    }
-
-    /**
-     * @param toGet
-     * @return CTabItem the indexed item
-     */
-    public CTabItem getItem(Point toGet) {
-        return tabFolder.getItem(toGet);
-    }
-
-    /**
-     * @return CTabItem the selected item
-     */
-    public CTabItem getSelection() {
-        return tabFolder.getSelection();
-    }
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolderButtonListener.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolderButtonListener.java
deleted file mode 100644
index f830816..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolderButtonListener.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-/**
- * This listener receives notifications when the user clicks on one of
- * the buttons (minimize, maximize, or restore) on a pane folder.  
- * 
- * @since 3.0
- */
-public abstract class R21PaneFolderButtonListener {
-
-    /**
-     * Called when the minimize, maximize, or restore buttons are pressed.
-     *   
-     * @param buttonId one of the IStackPresentationSite.STATE_* constants
-     */
-    public void stateButtonPressed(int buttonId) {
-    }
-
-    /**
-     * Called when a close button is pressed.
-     *   
-     * @param item the tab whose close button was pressed
-     */
-    public void closeButtonPressed(CTabItem item) {
-    }
-
-    /**
-     * 
-     * @since 3.0
-     */
-    public void showList(CTabFolderEvent event) {
-    }
-}
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/ViewForm.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/ViewForm.java
deleted file mode 100644
index 21920da..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/ViewForm.java
+++ /dev/null
@@ -1,696 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Listener;
-
-/**
- * Instances of this class implement a Composite that lays out three
- * children horizontally and allows programmatic control of layout and
- * border parameters. ViewForm is used in the workbench to implement a
- * view's label/menu/toolbar local bar.
- * <p>
- * Note that although this class is a subclass of <code>Composite</code>,
- * it does not make sense to set a layout on it.
- * </p><p>
- * <dl>
- * <dt><b>Styles:</b></dt>
- * <dd>BORDER, FLAT</dd>
- * <dt><b>Events:</b></dt>
- * <dd>(None)</dd>
- * </dl>
- * <p>
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- * </p>
- */
-
-public class ViewForm extends Composite {
-
-    /**
-     * marginWidth specifies the number of pixels of horizontal margin
-     * that will be placed along the left and right edges of the form.
-     *
-     * The default value is 0.
-     */
-    public int marginWidth = 0;
-
-    /**
-     * marginHeight specifies the number of pixels of vertical margin
-     * that will be placed along the top and bottom edges of the form.
-     *
-     * The default value is 0.
-     */
-    public int marginHeight = 0;
-
-    /**
-     * Color of innermost line of drop shadow border.
-     */
-    public static RGB borderInsideRGB = new RGB(132, 130, 132);
-
-    /**
-     * Color of middle line of drop shadow border.
-     */
-    public static RGB borderMiddleRGB = new RGB(143, 141, 138);
-
-    /**
-     * Color of outermost line of drop shadow border.
-     */
-    public static RGB borderOutsideRGB = new RGB(171, 168, 165);
-
-    // SWT widgets
-    private Control topLeft;
-
-    private Control topCenter;
-
-    private Control topRight;
-
-    private Control content;
-
-    // Configuration and state info
-    private boolean separateTopCenter = false;
-
-    private int drawLine1 = -1;
-
-    private int drawLine2 = -1;
-
-    private boolean showBorder = false;
-
-    private int BORDER_TOP = 0;
-
-    private int BORDER_BOTTOM = 0;
-
-    private int BORDER_LEFT = 0;
-
-    private int BORDER_RIGHT = 0;
-
-    private Color borderColor1;
-
-    private Color borderColor2;
-
-    private Color borderColor3;
-
-    private Rectangle oldArea;
-
-    private static final int OFFSCREEN = -200;
-
-    /**
-     * Constructs a new instance of this class given its parent
-     * and a style value describing its behavior and appearance.
-     * <p>
-     * The style value is either one of the style constants defined in
-     * class <code>SWT</code> which is applicable to instances of this
-     * class, or must be built by <em>bitwise OR</em>'ing together 
-     * (that is, using the <code>int</code> "|" operator) two or more
-     * of those <code>SWT</code> style constants. The class description
-     * lists the style constants that are applicable to the class.
-     * Style bits are also inherited from superclasses.
-     * </p>
-     *
-     * @param parent a widget which will be the parent of the new instance (cannot be null)
-     * @param style the style of widget to construct
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
-     * </ul>
-     *
-     * @see SWT#BORDER
-     * @see SWT#FLAT
-     * @see #getStyle()
-     */
-    public ViewForm(Composite parent, int style) {
-        super(parent, checkStyle(style));
-
-        borderColor1 = new Color(getDisplay(), borderInsideRGB);
-        borderColor2 = new Color(getDisplay(), borderMiddleRGB);
-        borderColor3 = new Color(getDisplay(), borderOutsideRGB);
-        setBorderVisible((style & SWT.BORDER) != 0);
-
-        addPaintListener(new PaintListener() {
-            public void paintControl(PaintEvent event) {
-                onPaint(event.gc);
-            }
-        });
-        addControlListener(new ControlAdapter() {
-            public void controlResized(ControlEvent e) {
-                onResize();
-            }
-        });
-
-        addListener(SWT.Dispose, new Listener() {
-            public void handleEvent(Event e) {
-                onDispose();
-            }
-        });
-    }
-
-    /**
-     * Check the style bits to ensure that no invalid styles are applied.
-     * @private
-     */
-    private static int checkStyle(int style) {
-        int mask = SWT.FLAT | SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
-        return style & mask | SWT.NO_REDRAW_RESIZE;
-    }
-
-    public Point computeSize(int wHint, int hHint, boolean changed) {
-        checkWidget();
-        // size of title bar area
-        Point leftSize = new Point(0, 0);
-        if (topLeft != null) {
-            leftSize = topLeft.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-            leftSize.x += 1; // +1 for highlight line
-        }
-        Point centerSize = new Point(0, 0);
-        if (topCenter != null) {
-            centerSize = topCenter.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-        }
-        Point rightSize = new Point(0, 0);
-        if (topRight != null) {
-            rightSize = topRight.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-        }
-        Point size = new Point(0, 0);
-        // calculate width of title bar
-        if (separateTopCenter
-                || (wHint != SWT.DEFAULT && leftSize.x + centerSize.x
-                        + rightSize.x > wHint)) {
-            size.x = leftSize.x + rightSize.x;
-            size.x = Math.max(centerSize.x, size.x);
-            size.y = Math.max(leftSize.y, rightSize.y) + 1; // +1 for highlight line
-            if (topCenter != null) {
-                size.y += centerSize.y;
-            }
-        } else {
-            size.x = leftSize.x + centerSize.x + rightSize.x;
-            size.y = Math.max(leftSize.y, Math.max(centerSize.y, rightSize.y)) + 1; // +1 for highlight line
-        }
-
-        if (content != null) {
-            Point contentSize = new Point(0, 0);
-            contentSize = content.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-            size.x = Math.max(size.x, contentSize.x);
-            size.y += contentSize.y + 1; // +1 for line bewteen content and header
-        }
-
-        size.x += 2 * marginWidth;
-        size.y += 2 * marginHeight;
-
-        if (wHint != SWT.DEFAULT) {
-			size.x = wHint;
-		}
-        if (hHint != SWT.DEFAULT) {
-			size.y = hHint;
-		}
-
-        Rectangle trim = computeTrim(0, 0, size.x, size.y);
-        return new Point(trim.width, trim.height);
-    }
-
-    public Rectangle computeTrim(int x, int y, int width, int height) {
-        checkWidget();
-        int trimX = x - BORDER_LEFT;
-        int trimY = y - BORDER_TOP;
-        int trimWidth = width + BORDER_LEFT + BORDER_RIGHT;
-        int trimHeight = height + BORDER_TOP + BORDER_BOTTOM;
-        return new Rectangle(trimX, trimY, trimWidth, trimHeight);
-    }
-
-    public Rectangle getClientArea() {
-        checkWidget();
-        Rectangle clientArea = super.getClientArea();
-        clientArea.x += BORDER_LEFT;
-        clientArea.y += BORDER_TOP;
-        clientArea.width -= BORDER_LEFT + BORDER_RIGHT;
-        clientArea.height -= BORDER_TOP + BORDER_BOTTOM;
-        return clientArea;
-    }
-
-    /**
-     * Returns the content area.
-     * 
-     * @return the control in the content area of the pane or null
-     */
-    public Control getContent() {
-        //checkWidget();
-        return content;
-    }
-
-    /**
-     * Returns Control that appears in the top center of the pane.
-     * Typically this is a toolbar.
-     * 
-     * @return the control in the top center of the pane or null
-     */
-    public Control getTopCenter() {
-        //checkWidget();
-        return topCenter;
-    }
-
-    /**
-     * Returns the Control that appears in the top left corner of the pane.
-     * Typically this is a label such as CLabel.
-     * 
-     * @return the control in the top left corner of the pane or null
-     */
-    public Control getTopLeft() {
-        //checkWidget();
-        return topLeft;
-    }
-
-    /**
-     * Returns the control in the top right corner of the pane.
-     * Typically this is a Close button or a composite with a Menu and Close button.
-     * 
-     * @return the control in the top right corner of the pane or null
-     */
-    public Control getTopRight() {
-        //checkWidget();
-        return topRight;
-    }
-
-    public void layout(boolean changed) {
-        checkWidget();
-        Rectangle rect = getClientArea();
-
-        drawLine1 = -1;
-        drawLine2 = -1;
-
-        Point leftSize = new Point(0, 0);
-        if (topLeft != null && !topLeft.isDisposed()) {
-            leftSize = topLeft.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-        }
-        Point centerSize = new Point(0, 0);
-        if (topCenter != null && !topCenter.isDisposed()) {
-            centerSize = topCenter.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-        }
-        Point rightSize = new Point(0, 0);
-        if (topRight != null && !topRight.isDisposed()) {
-            rightSize = topRight.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-        }
-
-        int minTopWidth = leftSize.x + centerSize.x + rightSize.x + 2
-                * marginWidth + 1; // +1 for highlight line	
-        int height = rect.y + marginHeight;
-
-        boolean top = false;
-        if (separateTopCenter || minTopWidth > rect.width) {
-            int topHeight = Math.max(rightSize.y, leftSize.y);
-            if (topRight != null && !topRight.isDisposed()) {
-                top = true;
-                topRight.setBounds(rect.x + rect.width - marginWidth
-                        - rightSize.x, rect.y + 1 + marginHeight, rightSize.x,
-                        topHeight);
-                height += 1 + topHeight; // +1 for highlight line
-            }
-            if (topLeft != null && !topLeft.isDisposed()) {
-                top = true;
-                leftSize = topLeft.computeSize(rect.width - 2 * marginWidth
-                        - rightSize.x - 1, SWT.DEFAULT);
-                topLeft.setBounds(rect.x + 1 + marginWidth, rect.y + 1
-                        + marginHeight, leftSize.x, topHeight);
-                height = Math
-                        .max(height, rect.y + marginHeight + 1 + topHeight); // +1 for highlight line
-            }
-            if (topCenter != null && !topCenter.isDisposed()) {
-                top = true;
-                if (height > rect.y + marginHeight) {
-                    drawLine1 = height;
-                    height += 1; // +1 for divider line
-                }
-                centerSize = topCenter.computeSize(
-                        rect.width - 2 * marginWidth, SWT.DEFAULT);
-                topCenter.setBounds(rect.x + rect.width - marginWidth
-                        - centerSize.x, height, centerSize.x, centerSize.y);
-                height += centerSize.y;
-
-            }
-        } else {
-            int topHeight = Math.max(rightSize.y, Math.max(centerSize.y,
-                    leftSize.y));
-            if (topRight != null && !topRight.isDisposed()) {
-                top = true;
-                topRight.setBounds(rect.x + rect.width - marginWidth
-                        - rightSize.x, rect.y + marginHeight + 1, // +1 for highlight line
-                        rightSize.x, topHeight);
-                height += 1 + topHeight; // +1 for highlight line
-            }
-            if (topCenter != null && !topCenter.isDisposed()) {
-                top = true;
-                topCenter.setBounds(rect.x + rect.width - marginWidth
-                        - rightSize.x - centerSize.x,
-                        rect.y + marginHeight + 1, // +1 for highlight line
-                        centerSize.x, topHeight);
-                height = Math
-                        .max(height, rect.y + marginHeight + 1 + topHeight); // +1 for highlight line                    
-            }
-            if (topLeft != null && !topLeft.isDisposed()) {
-                top = true;
-                leftSize = topLeft.computeSize(rect.width - 2 * marginWidth
-                        - rightSize.x - centerSize.x - 1, topHeight);
-                topLeft.setBounds(rect.x + marginWidth + 1, // +1 for highlight line
-                        rect.y + marginHeight + 1, // +1 for highlight line
-                        leftSize.x, topHeight);
-                height = Math
-                        .max(height, rect.y + marginHeight + 1 + topHeight); // +1 for highlight line
-            }
-        }
-
-        if (content != null && !content.isDisposed()) {
-            if (top) {
-                drawLine2 = height;
-                height += 1; // +1 for divider line
-            }
-            content
-                    .setBounds(rect.x + marginWidth, height, rect.width - 2
-                            * marginWidth, rect.y + rect.height - height
-                            - marginHeight);
-        }
-    }
-
-    private void onDispose() {
-        if (borderColor1 != null) {
-            borderColor1.dispose();
-        }
-        borderColor1 = null;
-
-        if (borderColor2 != null) {
-            borderColor2.dispose();
-        }
-        borderColor2 = null;
-
-        if (borderColor3 != null) {
-            borderColor3.dispose();
-        }
-        borderColor3 = null;
-
-        topLeft = null;
-        topCenter = null;
-        topRight = null;
-        content = null;
-        oldArea = null;
-    }
-
-    /**
-     * Draws the focus border.
-     */
-    private void onPaint(GC gc) {
-        Rectangle d = super.getClientArea();
-
-        if (showBorder) {
-            if ((getStyle() & SWT.FLAT) != 0) {
-                gc.setForeground(borderColor1);
-                gc.drawRectangle(d.x, d.y, d.x + d.width - 1, d.y + d.height
-                        - 1);
-            } else {
-                gc.setForeground(borderColor1);
-                gc.drawRectangle(d.x, d.y, d.x + d.width - 3, d.y + d.height
-                        - 3);
-
-                gc.setForeground(borderColor2);
-                gc.drawLine(d.x + 1, d.y + d.height - 2, d.x + d.width - 1, d.y
-                        + d.height - 2);
-                gc.drawLine(d.x + d.width - 2, d.y + 1, d.x + d.width - 2, d.y
-                        + d.height - 1);
-
-                gc.setForeground(borderColor3);
-                gc.drawLine(d.x + 2, d.y + d.height - 1, d.x + d.width - 2, d.y
-                        + d.height - 1);
-                gc.drawLine(d.x + d.width - 1, d.y + 2, d.x + d.width - 1, d.y
-                        + d.height - 2);
-            }
-        }
-
-        if (drawLine1 != -1) {
-            // top seperator line
-            gc.setForeground(borderColor1);
-            gc.drawLine(d.x + BORDER_LEFT, drawLine1, d.x + d.width
-                    - BORDER_RIGHT, drawLine1);
-        }
-        if (drawLine2 != -1) {
-            // content separator line
-            gc.setForeground(borderColor1);
-            gc.drawLine(d.x + BORDER_LEFT, drawLine2, d.x + d.width
-                    - BORDER_RIGHT, drawLine2);
-        }
-        // highlight on top
-        int y = drawLine1;
-        if (y == -1) {
-            y = drawLine2;
-        }
-        if (y != -1) {
-            gc.setForeground(getDisplay().getSystemColor(
-                    SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW));
-            gc.drawLine(d.x + BORDER_LEFT + marginWidth, d.y + BORDER_TOP
-                    + marginHeight, d.x + BORDER_LEFT + marginWidth, y - 1);
-            gc.drawLine(d.x + BORDER_LEFT + marginWidth, d.y + BORDER_TOP
-                    + marginHeight, d.x + d.width - BORDER_RIGHT - marginWidth
-                    - 1, d.y + BORDER_TOP + marginHeight);
-        }
-
-        gc.setForeground(getForeground());
-    }
-
-    private void onResize() {
-        layout();
-
-        Rectangle area = super.getClientArea();
-        if (oldArea == null || oldArea.width == 0 || oldArea.height == 0) {
-            redraw();
-        } else {
-            int width = 0;
-            if (oldArea.width < area.width) {
-                width = area.width - oldArea.width + BORDER_RIGHT;
-            } else if (oldArea.width > area.width) {
-                width = BORDER_RIGHT;
-            }
-            redraw(area.x + area.width - width, area.y, width, area.height,
-                    false);
-
-            int height = 0;
-            if (oldArea.height < area.height) {
-                height = area.height - oldArea.height + BORDER_BOTTOM;
-            }
-            if (oldArea.height > area.height) {
-                height = BORDER_BOTTOM;
-            }
-            redraw(area.x, area.y + area.height - height, area.width, height,
-                    false);
-        }
-        oldArea = area;
-    }
-
-    /**
-     * Sets the content.
-     * Setting the content to null will remove it from 
-     * the pane - however, the creator of the content must dispose of the content.
-     * 
-     * @param content the control to be displayed in the content area or null
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setContent(Control content) {
-        checkWidget();
-        if (content != null && content.getParent() != this) {
-            SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-        }
-        if (this.content != null && !this.content.isDisposed()) {
-            this.content.setBounds(OFFSCREEN, OFFSCREEN, 0, 0);
-        }
-        this.content = content;
-        layout();
-    }
-
-    /**
-     * Set the widget font.
-     * This will apply the font to the topLeft, topRight and topCenter widgets.
-     */
-    public void setFont(Font f) {
-        super.setFont(f);
-        if (topLeft != null && !topLeft.isDisposed()) {
-			topLeft.setFont(f);
-		}
-        if (topCenter != null && !topCenter.isDisposed()) {
-			topCenter.setFont(f);
-		}
-        if (topRight != null && !topRight.isDisposed()) {
-			topRight.setFont(f);
-		}
-
-        layout();
-    }
-
-    /**
-     * Sets the layout which is associated with the receiver to be
-     * the argument which may be null.
-     * <p>
-     * Note : ViewForm does not use a layout class to size and position its children.
-     * </p>
-     *
-     * @param layout the receiver's new layout or null
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setLayout(Layout layout) {
-        checkWidget();
-        return;
-    }
-
-    /**
-     * Set the control that appears in the top center of the pane.
-     * Typically this is a toolbar.
-     * The topCenter is optional.  Setting the topCenter to null will remove it from 
-     * the pane - however, the creator of the topCenter must dispose of the topCenter.
-     * 
-     * @param topCenter the control to be displayed in the top center or null
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setTopCenter(Control topCenter) {
-        checkWidget();
-        if (topCenter != null && topCenter.getParent() != this) {
-            SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-        }
-        if (this.topCenter != null && !this.topCenter.isDisposed()) {
-            this.topCenter.setBounds(OFFSCREEN, OFFSCREEN, 0, 0);
-        }
-        this.topCenter = topCenter;
-        layout();
-    }
-
-    /**
-     * Set the control that appears in the top left corner of the pane.
-     * Typically this is a label such as CLabel.
-     * The topLeft is optional.  Setting the top left control to null will remove it from 
-     * the pane - however, the creator of the control must dispose of the control.
-     * 
-     * @param c the control to be displayed in the top left corner or null
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setTopLeft(Control c) {
-        checkWidget();
-        if (c != null && c.getParent() != this) {
-            SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-        }
-        if (this.topLeft != null && !this.topLeft.isDisposed()) {
-            this.topLeft.setBounds(OFFSCREEN, OFFSCREEN, 0, 0);
-        }
-        this.topLeft = c;
-        layout();
-    }
-
-    /**
-     * Set the control that appears in the top right corner of the pane.
-     * Typically this is a Close button or a composite with a Menu and Close button.
-     * The topRight is optional.  Setting the top right control to null will remove it from 
-     * the pane - however, the creator of the control must dispose of the control.
-     * 
-     * @param c the control to be displayed in the top right corner or null
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     *    <li>ERROR_INVALID_ARGUMENT - if the control is not a child of this ViewForm</li>
-     * </ul>
-     */
-    public void setTopRight(Control c) {
-        checkWidget();
-        if (c != null && c.getParent() != this) {
-            SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-        }
-        if (this.topRight != null && !this.topRight.isDisposed()) {
-            this.topRight.setBounds(OFFSCREEN, OFFSCREEN, 0, 0);
-        }
-        this.topRight = c;
-        layout();
-    }
-
-    /**
-     * Specify whether the border should be displayed or not.
-     * 
-     * @param show true if the border should be displayed
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setBorderVisible(boolean show) {
-        checkWidget();
-        if (showBorder == show) {
-			return;
-		}
-
-        showBorder = show;
-        if (showBorder) {
-            if ((getStyle() & SWT.FLAT) != 0) {
-                BORDER_LEFT = BORDER_TOP = BORDER_RIGHT = BORDER_BOTTOM = 1;
-            } else {
-                BORDER_LEFT = BORDER_TOP = 1;
-                BORDER_RIGHT = BORDER_BOTTOM = 3;
-            }
-        } else {
-            BORDER_BOTTOM = BORDER_TOP = BORDER_LEFT = BORDER_RIGHT = 0;
-        }
-
-        layout();
-        redraw();
-    }
-
-    /**
-     * If true, the topCenter will always appear on a separate line by itself, otherwise the 
-     * topCenter will appear in the top row if there is room and will be moved to the second row if
-     * required.
-     * 
-     * @param show true if the topCenter will always appear on a separate line by itself
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setTopCenterSeparate(boolean show) {
-        checkWidget();
-        separateTopCenter = show;
-        layout();
-    }
-
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/.classpath b/bundles/org.eclipse.ui.tutorials.rcp.part1/.classpath
deleted file mode 100644
index 751c8f2..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.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<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/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.tutorials.rcp.part1/META-INF/MANIFEST.MF
deleted file mode 100644
index 200e474..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Part1 Plug-in
-Bundle-SymbolicName: org.eclipse.ui.tutorials.rcp.part1; singleton:=true
-Bundle-Version: 1.0.0
-Bundle-Activator: org.eclipse.ui.tutorials.rcp.part1.Part1Plugin
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime
-Eclipse-AutoStart: true
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 2b0d95b..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/part1.product b/bundles/org.eclipse.ui.tutorials.rcp.part1/part1.product
deleted file mode 100644
index e8c972a..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/part1.product
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.1"?>
-
-<product name="RCP Tutorial 1" id="org.eclipse.ui.tutorials.rcp.part1.product" application="org.eclipse.ui.tutorials.rcp.part1.application" useFeatures="false">
-
-   <configIni use="default"/>
-
-   <launcherArgs>
-   </launcherArgs>
-
-   <plugins>
-      <plugin id="org.eclipse.core.commands"/>
-      <plugin id="org.eclipse.core.expressions"/>
-      <plugin id="org.eclipse.core.runtime"/>
-      <plugin id="org.eclipse.help"/>
-      <plugin id="org.eclipse.jface"/>
-      <plugin id="org.eclipse.osgi"/>
-      <plugin id="org.eclipse.swt"/>
-      <plugin id="org.eclipse.swt.win32.win32.x86"/>
-      <plugin id="org.eclipse.ui"/>
-      <plugin id="org.eclipse.ui.tutorials.rcp.part1"/>
-      <plugin id="org.eclipse.ui.workbench"/>
-   </plugins>
-
-</product>
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 df1d470..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <extension
-         id="application"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.ui.tutorials.rcp.part1.Application">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="Part1 Perspective"
-            class="org.eclipse.ui.tutorials.rcp.part1.Perspective"
-            id="org.eclipse.ui.tutorials.rcp.part1.perspective">
-      </perspective>
-   </extension>
-   <extension
-         id="product"
-         point="org.eclipse.core.runtime.products">
-      <product
-            application="org.eclipse.ui.tutorials.rcp.part1.application"
-            name="RCP Tutorial 1"/>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/Application.java b/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/Application.java
deleted file mode 100644
index 4b7822e..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/Application.java
+++ /dev/null
@@ -1,27 +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;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class Application implements IPlatformRunnable {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IPlatformRunnable#run(java.lang.Object)
-	 */
-	public Object run(Object args) throws Exception {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IPlatformRunnable.EXIT_RESTART;
-			}
-			return IPlatformRunnable.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/ApplicationActionBarAdvisor.java b/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 5da3f82..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part1;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-    public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-        super(configurer);
-    }
-
-    protected void makeActions(IWorkbenchWindow window) {
-    }
-
-    protected void fillMenuBar(IMenuManager menuBar) {
-    }
-    
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/ApplicationWorkbenchAdvisor.java b/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index 58cd3e5..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part1;
-
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-
-	private static final String PERSPECTIVE_ID = "org.eclipse.ui.tutorials.rcp.part1.perspective";
-
-    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        return new ApplicationWorkbenchWindowAdvisor(configurer);
-    }
-
-	public String getInitialWindowPerspectiveId() {
-		return PERSPECTIVE_ID;
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/ApplicationWorkbenchWindowAdvisor.java b/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index e6d5b32..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part1;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        super(configurer);
-    }
-
-    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
-        return new ApplicationActionBarAdvisor(configurer);
-    }
-    
-    public void preWindowOpen() {
-        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-        configurer.setInitialSize(new Point(400, 300));
-        configurer.setShowCoolBar(false);
-        configurer.setShowStatusLine(false);
-        configurer.setTitle("Hello RCP");
-    }
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/Part1Plugin.java b/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/Part1Plugin.java
deleted file mode 100644
index b2ed123..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/Part1Plugin.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part1;
-
-import org.eclipse.ui.plugin.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class Part1Plugin extends AbstractUIPlugin {
-
-	//The shared instance.
-	private static Part1Plugin plugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public Part1Plugin() {
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static Part1Plugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path.
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.ui.tutorials.rcp.part1", path);
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/Perspective.java b/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/Perspective.java
deleted file mode 100644
index 0680b93..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/Perspective.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part1;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	public void createInitialLayout(IPageLayout layout) {
-	}
-}
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 751c8f2..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.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<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/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.tutorials.rcp.part2/META-INF/MANIFEST.MF
deleted file mode 100644
index 54860e8..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Part2 Plug-in
-Bundle-SymbolicName: org.eclipse.ui.tutorials.rcp.part2; singleton:=true
-Bundle-Version: 1.0.0
-Bundle-Activator: org.eclipse.ui.tutorials.rcp.part2.Part2Plugin
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime
-Eclipse-AutoStart: true
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 2b0d95b..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/part2.product b/bundles/org.eclipse.ui.tutorials.rcp.part2/part2.product
deleted file mode 100644
index 8aa4fef..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/part2.product
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.1"?>
-
-<product name="RCP Tutorial 2" id="org.eclipse.ui.tutorials.rcp.part2.product" application="org.eclipse.ui.tutorials.rcp.part2.application" useFeatures="false">
-
-   <configIni use="default"/>
-
-   <launcherArgs>
-   </launcherArgs>
-
-   <plugins>
-      <plugin id="org.eclipse.core.commands"/>
-      <plugin id="org.eclipse.core.expressions"/>
-      <plugin id="org.eclipse.core.runtime"/>
-      <plugin id="org.eclipse.help"/>
-      <plugin id="org.eclipse.jface"/>
-      <plugin id="org.eclipse.osgi"/>
-      <plugin id="org.eclipse.swt"/>
-      <plugin id="org.eclipse.swt.win32.win32.x86"/>
-      <plugin id="org.eclipse.ui"/>
-      <plugin id="org.eclipse.ui.tutorials.rcp.part2"/>
-      <plugin id="org.eclipse.ui.workbench"/>
-   </plugins>
-
-</product>
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 ea7415b..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <extension
-         id="application"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.ui.tutorials.rcp.part2.Application">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="Part2 Perspective"
-            class="org.eclipse.ui.tutorials.rcp.part2.Perspective"
-            id="org.eclipse.ui.tutorials.rcp.part2.perspective">
-      </perspective>
-   </extension>
-   <extension
-         id="product"
-         point="org.eclipse.core.runtime.products">
-      <product
-            application="org.eclipse.ui.tutorials.rcp.part2.application"
-            name="RCP Tutorial 2"/>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Application.java b/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Application.java
deleted file mode 100644
index 6292541..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Application.java
+++ /dev/null
@@ -1,27 +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;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class Application implements IPlatformRunnable {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IPlatformRunnable#run(java.lang.Object)
-	 */
-	public Object run(Object args) throws Exception {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IPlatformRunnable.EXIT_RESTART;
-			}
-			return IPlatformRunnable.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/ApplicationActionBarAdvisor.java b/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 351bc6d..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part2;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-    public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-        super(configurer);
-    }
-
-    protected void makeActions(IWorkbenchWindow window) {
-    }
-
-    protected void fillMenuBar(IMenuManager menuBar) {
-    }
-    
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/ApplicationWorkbenchAdvisor.java b/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index a76ee8b..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part2;
-
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-
-	private static final String PERSPECTIVE_ID = "org.eclipse.ui.tutorials.rcp.part2.perspective";
-
-    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        return new ApplicationWorkbenchWindowAdvisor(configurer);
-    }
-
-	public String getInitialWindowPerspectiveId() {
-		return PERSPECTIVE_ID;
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/ApplicationWorkbenchWindowAdvisor.java b/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index 2d9d918..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part2;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        super(configurer);
-    }
-
-    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
-        return new ApplicationActionBarAdvisor(configurer);
-    }
-    
-    public void preWindowOpen() {
-        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-        configurer.setInitialSize(new Point(400, 300));
-        configurer.setShowCoolBar(false);
-        configurer.setShowStatusLine(false);
-        configurer.setTitle("Hello RCP");
-    }
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Part2Plugin.java b/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Part2Plugin.java
deleted file mode 100644
index aac1f4e..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Part2Plugin.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part2;
-
-import org.eclipse.ui.plugin.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class Part2Plugin extends AbstractUIPlugin {
-
-	//The shared instance.
-	private static Part2Plugin plugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public Part2Plugin() {
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static Part2Plugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path.
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.ui.tutorials.rcp.part2", path);
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Perspective.java b/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Perspective.java
deleted file mode 100644
index 913f0a4..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Perspective.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part2;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	public void createInitialLayout(IPageLayout layout) {
-	}
-}
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 751c8f2..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.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<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/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.tutorials.rcp.part3/META-INF/MANIFEST.MF
deleted file mode 100644
index 42daae3..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Part3 Plug-in
-Bundle-SymbolicName: org.eclipse.ui.tutorials.rcp.part3; singleton:=true
-Bundle-Version: 1.0.0
-Bundle-Activator: org.eclipse.ui.tutorials.rcp.part3.Part3Plugin
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime
-Eclipse-AutoStart: true
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 7493b25..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .,\
-               icons/,\
-               plugin.properties,\
-               product_lg.gif,\
-               splash.bmp
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/icons/sample.icns b/bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample.icns
deleted file mode 100644
index 1e92ccc..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample.icns
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample2.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample2.gif
deleted file mode 100644
index 252d7eb..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample2.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample3.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample3.gif
deleted file mode 100644
index b949ac9..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample3.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/part3.product b/bundles/org.eclipse.ui.tutorials.rcp.part3/part3.product
deleted file mode 100644
index 0fcf82e..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/part3.product
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.1"?>
-
-<product name="RCP Tutorial 3" id="org.eclipse.ui.tutorials.rcp.part3.product" application="org.eclipse.ui.tutorials.rcp.part3.application" useFeatures="false">
-
-   <aboutInfo>
-      <image path="/org.eclipse.ui.tutorials.rcp.part3/product_lg.gif"/>
-      <text>
-         RCP Tutorial 3
-Version 1.0.0
-by Ed Burnette
-
-For more information on Eclipse and the
-Rich Client Platform visit:
-http://www.eclipse.org
-
-Copyrights and other legal stuff goes here.
-      </text>
-   </aboutInfo>
-
-   <configIni use="default"/>
-
-   <launcherArgs>
-   </launcherArgs>
-
-   <windowImages/>
-
-
-   <launcher>
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <plugins>
-      <plugin id="org.eclipse.core.commands"/>
-      <plugin id="org.eclipse.core.expressions"/>
-      <plugin id="org.eclipse.core.runtime"/>
-      <plugin id="org.eclipse.help"/>
-      <plugin id="org.eclipse.jface"/>
-      <plugin id="org.eclipse.osgi"/>
-      <plugin id="org.eclipse.swt"/>
-      <plugin id="org.eclipse.swt.win32.win32.x86"/>
-      <plugin id="org.eclipse.ui"/>
-      <plugin id="org.eclipse.ui.tutorials.rcp.part3"/>
-      <plugin id="org.eclipse.ui.workbench"/>
-   </plugins>
-
-</product>
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 77a85f2..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-aboutText=This RCP Application was generated from\n\
-the PDE Plug-in Project wizard.\n\n\
-This sample shows how to:\n\
-- add a top-level menu and toolbar with actions\n\
-- add keybindings to actions\n\
-- create views that can't be closed and\n\
-  multiple instances of the same view\n\
-- perspectives with placeholders for new views\n\
-- use the default about dialog\n\
-- create a product definition\n
\ 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 da19e7c..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <extension
-         id="application"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.ui.tutorials.rcp.part3.Application">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="Part3 Perspective"
-            class="org.eclipse.ui.tutorials.rcp.part3.Perspective"
-            id="org.eclipse.ui.tutorials.rcp.part3.perspective">
-      </perspective>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="Message"
-            allowMultiple="true"
-            icon="icons/sample2.gif"
-            class="org.eclipse.ui.tutorials.rcp.part3.View"
-            id="org.eclipse.ui.tutorials.rcp.part3.view">
-      </view>
-      <view
-            name="Mailboxes"
-            allowMultiple="true"
-            icon="icons/sample3.gif"
-            class="org.eclipse.ui.tutorials.rcp.part3.NavigationView"
-            id="org.eclipse.ui.tutorials.rcp.part3.navigationView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            name="Mail"
-            id="org.eclipse.ui.tutorials.rcp.part3.category">
-      </category>
-      <command
-            name="Open Mailbox"
-            description="Opens a mailbox"
-            categoryId="org.eclipse.ui.tutorials.rcp.part3.category"
-            id="org.eclipse.ui.tutorials.rcp.part3.open">
-      </command>
-      <command
-            name="Open Message Dialog"
-            description="Open a message dialog"
-            categoryId="org.eclipse.ui.tutorials.rcp.part3.category"
-            id="org.eclipse.ui.tutorials.rcp.part3.openMessage">
-      </command>
-   </extension>
-   <extension
-         point="org.eclipse.ui.bindings">
-      <key
-            commandId="org.eclipse.ui.tutorials.rcp.part3.open"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+2">
-      </key>
-      <key
-            commandId="org.eclipse.ui.tutorials.rcp.part3.openMessage"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+3">
-      </key>
-      <key
-            commandId="org.eclipse.ui.file.exit"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="CTRL+X">
-      </key>
-   </extension>
-   <extension
-         id="product"
-         point="org.eclipse.core.runtime.products">
-      <product
-            application="org.eclipse.ui.tutorials.rcp.part3.application"
-            name="RCP Tutorial 3">
-         <property
-               name="aboutImage"
-               value="product_lg.gif"/>
-         <property
-               name="aboutText"
-               value="RCP Tutorial 3&#x0A;Version 1.0.0&#x0A;by Ed Burnette&#x0A;&#x0A;For more information on Eclipse and the&#x0A;Rich Client Platform visit:&#x0A;http://www.eclipse.org&#x0A;&#x0A;Copyrights and other legal stuff goes here."/>
-      </product>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/product_lg.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/product_lg.gif
deleted file mode 100644
index bd95e28..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/product_lg.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/splash.bmp b/bundles/org.eclipse.ui.tutorials.rcp.part3/splash.bmp
deleted file mode 100644
index 99ea60d..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/splash.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Application.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Application.java
deleted file mode 100644
index 2e1c6eb..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Application.java
+++ /dev/null
@@ -1,27 +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;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class Application implements IPlatformRunnable {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IPlatformRunnable#run(java.lang.Object)
-	 */
-	public Object run(Object args) throws Exception {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IPlatformRunnable.EXIT_RESTART;
-			}
-			return IPlatformRunnable.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/ApplicationActionBarAdvisor.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/ApplicationActionBarAdvisor.java
deleted file mode 100644
index e500bf1..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.ICoolBarManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.ToolBarContributionItem;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-/**
- * An action bar advisor is responsible for creating, adding, and disposing of the
- * actions added to a workbench window. Each window will be populated with
- * new actions.
- */
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-    // Actions - important to allocate these only in makeActions, and then use them
-    // in the fill methods.  This ensures that the actions aren't recreated
-    // when fillActionBars is called with FILL_PROXY.
-    private IWorkbenchAction exitAction;
-    private IWorkbenchAction aboutAction;
-    private IWorkbenchAction newWindowAction;
-    private OpenViewAction openViewAction;
-    private Action messagePopupAction;
-    
-
-    public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-        super(configurer);
-    }
-    
-    protected void makeActions(final IWorkbenchWindow window) {
-        // Creates the actions and registers them.
-        // Registering is needed to ensure that key bindings work.
-        // The corresponding commands keybindings are defined in the plugin.xml file.
-        // Registering also provides automatic disposal of the actions when
-        // the window is closed.
-
-        exitAction = ActionFactory.QUIT.create(window);
-        register(exitAction);
-        
-        aboutAction = ActionFactory.ABOUT.create(window);
-        register(aboutAction);
-        
-        newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window);
-        register(newWindowAction);
-        
-        openViewAction = new OpenViewAction(window, "Open Another Message View", View.ID);
-        register(openViewAction);
-        
-        messagePopupAction = new MessagePopupAction("Open Message", window);
-        register(messagePopupAction);
-    }
-    
-    protected void fillMenuBar(IMenuManager menuBar) {
-        MenuManager fileMenu = new MenuManager("&File", IWorkbenchActionConstants.M_FILE);
-        MenuManager helpMenu = new MenuManager("&Help", IWorkbenchActionConstants.M_HELP);
-        
-        menuBar.add(fileMenu);
-        // Add a group marker indicating where action set menus will appear.
-        menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-        menuBar.add(helpMenu);
-        
-        // File
-        fileMenu.add(newWindowAction);
-        fileMenu.add(new Separator());
-        fileMenu.add(messagePopupAction);
-        fileMenu.add(openViewAction);
-        fileMenu.add(new Separator());
-        fileMenu.add(exitAction);
-        
-        // Help
-        helpMenu.add(aboutAction);
-    }
-    
-    protected void fillCoolBar(ICoolBarManager coolBar) {
-        IToolBarManager toolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
-        coolBar.add(new ToolBarContributionItem(toolbar, "main"));   
-        toolbar.add(openViewAction);
-        toolbar.add(messagePopupAction);
-    }
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/ApplicationWorkbenchAdvisor.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index fb51c0f..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3;
-
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * This workbench advisor creates the window advisor, and specifies
- * the perspective id for the initial window.
- */
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-	
-	private static final String PERSPECTIVE_ID = "org.eclipse.ui.tutorials.rcp.part3.perspective";
-
-    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        return new ApplicationWorkbenchWindowAdvisor(configurer);
-    }
-
-	public String getInitialWindowPerspectiveId() {
-		return PERSPECTIVE_ID;
-	} 
-	
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/ApplicationWorkbenchWindowAdvisor.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index 432df34..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        super(configurer);
-    }
-
-    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
-        return new ApplicationActionBarAdvisor(configurer);
-    }
-    
-    public void preWindowOpen() {
-        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-        configurer.setInitialSize(new Point(600, 400));
-        configurer.setShowCoolBar(true);
-        configurer.setShowStatusLine(false);
-    }
-    
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/ICommandIds.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/ICommandIds.java
deleted file mode 100644
index 8e7ea30..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/ICommandIds.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3;
-
-/**
- * Interface defining the application's command IDs.
- * Key bindings can be defined for specific commands.
- * To associate an action with a command, use IAction.setActionDefinitionId(commandId).
- *
- * @see org.eclipse.jface.action.IAction#setActionDefinitionId(String)
- */
-public interface ICommandIds {
-
-    public static final String CMD_OPEN = "org.eclipse.ui.tutorials.rcp.part3.open";
-    public static final String CMD_OPEN_MESSAGE = "org.eclipse.ui.tutorials.rcp.part3.openMessage";
-    
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/MessagePopupAction.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/MessagePopupAction.java
deleted file mode 100644
index 7d011ae..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/MessagePopupAction.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-
-
-public class MessagePopupAction extends Action {
-
-    private final IWorkbenchWindow window;
-
-    MessagePopupAction(String text, IWorkbenchWindow window) {
-        super(text);
-        this.window = window;
-        // The id is used to refer to the action in a menu or toolbar
-        setId(ICommandIds.CMD_OPEN_MESSAGE);
-        // Associate the action with a pre-defined command, to allow key bindings.
-        setActionDefinitionId(ICommandIds.CMD_OPEN_MESSAGE);
-        setImageDescriptor(org.eclipse.ui.tutorials.rcp.part3.Part3Plugin.getImageDescriptor("/icons/sample3.gif"));
-    }
-
-    public void run() {
-        MessageDialog.openInformation(window.getShell(), "Open", "Open Message Dialog!");
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/NavigationView.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/NavigationView.java
deleted file mode 100644
index 1e72e1f..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/NavigationView.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-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;
-
-public class NavigationView extends ViewPart {
-	public static final String ID = "org.eclipse.ui.tutorials.rcp.part3.navigationView";
-	private TreeViewer viewer;
-	 
-	class TreeObject {
-		private String name;
-		private TreeParent parent;
-		
-		public TreeObject(String name) {
-			this.name = name;
-		}
-		public String getName() {
-			return name;
-		}
-		public void setParent(TreeParent parent) {
-			this.parent = parent;
-		}
-		public TreeParent getParent() {
-			return parent;
-		}
-		public String toString() {
-			return getName();
-		}
-	}
-	
-	class TreeParent extends TreeObject {
-		private ArrayList children;
-		public TreeParent(String name) {
-			super(name);
-			children = new ArrayList();
-		}
-		public void addChild(TreeObject child) {
-			children.add(child);
-			child.setParent(this);
-		}
-		public void removeChild(TreeObject child) {
-			children.remove(child);
-			child.setParent(null);
-		}
-		public TreeObject[] getChildren() {
-			return (TreeObject[]) children.toArray(new TreeObject[children.size()]);
-		}
-		public boolean hasChildren() {
-			return children.size()>0;
-		}
-	}
-
-	class ViewContentProvider implements IStructuredContentProvider, 
-										   ITreeContentProvider {
-
-        public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		}
-        
-		public void dispose() {
-		}
-        
-		public Object[] getElements(Object parent) {
-			return getChildren(parent);
-		}
-        
-		public Object getParent(Object child) {
-			if (child instanceof TreeObject) {
-				return ((TreeObject)child).getParent();
-			}
-			return null;
-		}
-        
-		public Object[] getChildren(Object parent) {
-			if (parent instanceof TreeParent) {
-				return ((TreeParent)parent).getChildren();
-			}
-			return new Object[0];
-		}
-
-        public boolean hasChildren(Object parent) {
-			if (parent instanceof TreeParent)
-				return ((TreeParent)parent).hasChildren();
-			return false;
-		}
-	}
-	
-	class ViewLabelProvider extends LabelProvider {
-
-		public String getText(Object obj) {
-			return obj.toString();
-		}
-		public Image getImage(Object obj) {
-			String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
-			if (obj instanceof TreeParent)
-			   imageKey = ISharedImages.IMG_OBJ_FOLDER;
-			return PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
-		}
-	}
-
-    /**
-     * We will set up a dummy model to initialize tree heararchy. In real
-     * code, you will connect to a real model and expose its hierarchy.
-     */
-    private TreeObject createDummyModel() {
-        TreeObject to1 = new TreeObject("Inbox");
-        TreeObject to2 = new TreeObject("Drafts");
-        TreeObject to3 = new TreeObject("Sent");
-        TreeParent p1 = new TreeParent("me@this.com");
-        p1.addChild(to1);
-        p1.addChild(to2);
-        p1.addChild(to3);
-
-        TreeObject to4 = new TreeObject("Inbox");
-        TreeParent p2 = new TreeParent("other@aol.com");
-        p2.addChild(to4);
-
-        TreeParent root = new TreeParent("");
-        root.addChild(p1);
-        root.addChild(p2);
-        return root;
-    }
-
-	/**
-     * This is a callback that will allow us to create the viewer and initialize
-     * it.
-     */
-	public void createPartControl(Composite parent) {
-		viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		viewer.setContentProvider(new ViewContentProvider());
-		viewer.setLabelProvider(new ViewLabelProvider());
-		viewer.setInput(createDummyModel());
-	}
-
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/OpenViewAction.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/OpenViewAction.java
deleted file mode 100644
index 96fad50..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/OpenViewAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-
-
-public class OpenViewAction extends Action {
-	
-	private final IWorkbenchWindow window;
-	private int instanceNum = 0;
-	private final String viewId;
-	
-	public OpenViewAction(IWorkbenchWindow window, String label, String viewId) {
-		this.window = window;
-		this.viewId = viewId;
-        setText(label);
-        // The id is used to refer to the action in a menu or toolbar
-		setId(ICommandIds.CMD_OPEN);
-        // Associate the action with a pre-defined command, to allow key bindings.
-		setActionDefinitionId(ICommandIds.CMD_OPEN);
-		setImageDescriptor(org.eclipse.ui.tutorials.rcp.part3.Part3Plugin.getImageDescriptor("/icons/sample2.gif"));
-	}
-	
-	public void run() {
-		if(window != null) {	
-			try {
-				window.getActivePage().showView(viewId, Integer.toString(instanceNum++), IWorkbenchPage.VIEW_ACTIVATE);
-			} catch (PartInitException e) {
-				MessageDialog.openError(window.getShell(), "Error", "Error opening view:" + e.getMessage());
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Part3Plugin.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Part3Plugin.java
deleted file mode 100644
index c8b7d98..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Part3Plugin.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3;
-
-import org.eclipse.ui.plugin.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class Part3Plugin extends AbstractUIPlugin {
-
-	//The shared instance.
-	private static Part3Plugin plugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public Part3Plugin() {
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static Part3Plugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path.
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.ui.tutorials.rcp.part3", path);
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Perspective.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Perspective.java
deleted file mode 100644
index 91c7171..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Perspective.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3;
-
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	public void createInitialLayout(IPageLayout layout) {
-		String editorArea = layout.getEditorArea();
-		layout.setEditorAreaVisible(false);
-		
-		layout.addStandaloneView(NavigationView.ID,  false, IPageLayout.LEFT, 0.25f, editorArea);
-		IFolderLayout folder = layout.createFolder("messages", IPageLayout.TOP, 0.5f, editorArea);
-		folder.addPlaceholder(View.ID + ":*");
-		folder.addView(View.ID);
-		
-		layout.getViewLayout(NavigationView.ID).setCloseable(false);
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/View.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/View.java
deleted file mode 100644
index 36fc658..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/View.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-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.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.part.ViewPart;
-
-public class View extends ViewPart {
-
-	public static final String ID = "org.eclipse.ui.tutorials.rcp.part3.view";
-	
-	public void createPartControl(Composite parent) {
-		Composite top = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		top.setLayout(layout);
-		// top banner
-		Composite banner = new Composite(top, SWT.NONE);
-		banner.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL, GridData.VERTICAL_ALIGN_BEGINNING, true, false));
-		layout = new GridLayout();
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.numColumns = 2;
-		banner.setLayout(layout);
-		
-		// setup bold font
-		Font boldFont = JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT);    
-		
-		Label l = new Label(banner, SWT.WRAP);
-		l.setText("Subject:");
-		l.setFont(boldFont);
-		l = new Label(banner, SWT.WRAP);
-		l.setText("This is a message about the cool Eclipse RCP!");
-		
-		l = new Label(banner, SWT.WRAP);
-		l.setText("From:");
-		l.setFont(boldFont);
-    
-		final Link link = new Link(banner, SWT.NONE);
-		link.setText("<a>nicole@mail.org</a>");
-		link.addSelectionListener(new SelectionAdapter() {    
-			public void widgetSelected(SelectionEvent e) {
-				MessageDialog.openInformation(getSite().getShell(), "Not Implemented", "Imagine the address book or a new message being created now.");
-			}    
-		});
-    
-		l = new Label(banner, SWT.WRAP);
-		l.setText("Date:");
-		l.setFont(boldFont);
-		l = new Label(banner, SWT.WRAP);
-		l.setText("10:34 am");
-		// message contents
-		Text text = new Text(top, SWT.MULTI | SWT.WRAP);
-		text.setText("This RCP Application was generated from the PDE Plug-in Project wizard. This sample shows how to:\n"+
-						"- add a top-level menu and toolbar with actions\n"+
-						"- add keybindings to actions\n" +
-						"- create views that can't be closed and\n"+
-						"  multiple instances of the same view\n"+
-						"- perspectives with placeholders for new views\n"+
-						"- use the default about dialog\n"+
-						"- create a product definition\n");
-		text.setLayoutData(new GridData(GridData.FILL_BOTH));
-	}
-
-	public void setFocus() {
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/.classpath b/bundles/org.eclipse.ui.views.properties.tabbed/.classpath
deleted file mode 100644
index ce0c7a5..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/.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.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.0%Foundation-1.0"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/.cvsignore b/bundles/org.eclipse.ui.views.properties.tabbed/.cvsignore
deleted file mode 100644
index f0a691e..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-doc
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/.project b/bundles/org.eclipse.ui.views.properties.tabbed/.project
deleted file mode 100644
index 8936bd2..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.views.properties.tabbed</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.views.properties.tabbed/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index d560891..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Tue May 09 08:57:38 EDT 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.3
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 3282048..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Tue Sep 12 08:59:17 EDT 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.3\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index d8e8469..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Nov 16 14:12:29 EST 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=0
-compilers.p.illegal-att-value=0
-compilers.use-project=true
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.views.properties.tabbed/META-INF/MANIFEST.MF
deleted file mode 100644
index a7bf606..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.ui.views.properties.tabbed;singleton:=true
-Bundle-Version: 3.2.100.qualifier
-Bundle-Activator: org.eclipse.ui.internal.views.properties.tabbed.TabbedPropertyViewPlugin
-Bundle-Vendor: %Plugin.providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.internal.views.properties.tabbed;x-internal:=true,
- org.eclipse.ui.internal.views.properties.tabbed.l10n;x-internal:=true,
- org.eclipse.ui.internal.views.properties.tabbed.view;x-friends:="org.eclipse.ui.tests.views.properties.tabbed",
- org.eclipse.ui.views.properties.tabbed
-Require-Bundle: org.eclipse.ui.forms;bundle-version="[3.2.0,4.0.0)";visibility:=reexport,
- org.eclipse.ui.views;bundle-version="[3.2.0,4.0.0)";visibility:=reexport,
- org.eclipse.ui;bundle-version="[3.2.0,4.0.0)";visibility:=reexport,
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)"
-Eclipse-LazyStart: true
-Import-Package: com.ibm.icu.text
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,
- J2SE-1.3
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/about.html b/bundles/org.eclipse.ui.views.properties.tabbed/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/build.properties b/bundles/org.eclipse.ui.views.properties.tabbed/build.properties
deleted file mode 100644
index a4efc20..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               .,\
-               META-INF/,\
-               about.html
-src.includes = about.html,\
-               schema/
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/plugin.properties b/bundles/org.eclipse.ui.views.properties.tabbed/plugin.properties
deleted file mode 100644
index be38cad..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Plugin.name = Tabbed Properties View
-Plugin.providerName = Eclipse.org
-
-ExtPoint.propertyContributor = Property Contributor
-ExtPoint.propertyTabs = Property Tabs
-ExtPoint.propertySections = Property Sections
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/plugin.xml b/bundles/org.eclipse.ui.views.properties.tabbed/plugin.xml
deleted file mode 100644
index 848ec50..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <extension-point id="propertyContributor" name="%ExtPoint.propertyContributor" schema="schema/propertyContributor.exsd"/>
-   <extension-point id="propertyTabs" name="%ExtPoint.propertyTabs" schema="schema/propertyTabs.exsd"/>
-   <extension-point id="propertySections" name="%ExtPoint.propertySections" schema="schema/propertySections.exsd"/>
-
-</plugin>
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/schema/propertyContributor.exsd b/bundles/org.eclipse.ui.views.properties.tabbed/schema/propertyContributor.exsd
deleted file mode 100644
index da9dc30..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/schema/propertyContributor.exsd
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.views.properties.tabbed">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.views.properties.tabbed" id="propertyContributor" name="Property Contributor"/>
-      </appInfo>
-      <documentation>
-         Describes a workbench part that is a contributor of properties to be displayed within tabs in the tabbed property sheet page.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="propertyContributor"/>
-         </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="propertyContributor">
-      <complexType>
-         <sequence>
-            <element ref="propertyCategory" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="contributorId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique identifier of the property sheet page contributor.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="typeMapper" type="string">
-            <annotation>
-               <documentation>
-                  The class that implements the type mapper, i.e. implements &lt;tt&gt;org.eclipse.ui.views.properties.tabbed.ITypeMapper&lt;/tt&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.views.properties.tabbed.ITypeMapper"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="labelProvider" type="string">
-            <annotation>
-               <documentation>
-                  The class that implements the label provider for the title for the property sheet page, i.e. implements &lt;tt&gt;org.eclipse.jface.viewers.ILabelProvider&lt;/tt&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.viewers.ILabelProvider"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="actionProvider" type="string">
-            <annotation>
-               <documentation>
-                  The class that implements the action provider for the property sheet page, i.e. implements &lt;tt&gt;org.eclipse.ui.views.properties.tabbed.IActionProvider&lt;/tt&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.views.properties.tabbed.IActionProvider"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="propertyCategory">
-      <complexType>
-         <attribute name="category" type="string">
-            <annotation>
-               <documentation>
-                  A category used to group tabs.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.ui.views.properties.tabbed.propertyContributor&quot;&gt;
-      &lt;propertyContributor
-            contributorId=&quot;org.eclipse.ui.tests.views.properties.tabbed.views.TestsView&quot;
-            labelProvider=&quot;org.eclipse.ui.tests.views.properties.tabbed.views.LabelProvider&quot;
-            typeMapper=&quot;org.eclipse.ui.tests.views.properties.tabbed.views.TypeMapper&quot;&gt;
-         &lt;propertyCategory category=&quot;first&quot;&gt;
-         &lt;/propertyCategory&gt;
-         &lt;propertyCategory category=&quot;second&quot;&gt;
-         &lt;/propertyCategory&gt;
-      &lt;/propertyContributor&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005, 2006 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/schema/propertySections.exsd b/bundles/org.eclipse.ui.views.properties.tabbed/schema/propertySections.exsd
deleted file mode 100644
index bd77cfc..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/schema/propertySections.exsd
+++ /dev/null
@@ -1,201 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.views.properties.tabbed">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.views.properties.tabbed" id="propertySections" name="Property Sections"/>
-      </appInfo>
-      <documentation>
-         Describes a list of sections to be displayed within tabs that will be contributed to the tabbed property sheet page.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="propertySections"/>
-         </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="propertySections">
-      <complexType>
-         <sequence>
-            <element ref="propertySection" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="contributorId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique identifier of the property sheet page contributor.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="propertySection">
-      <complexType>
-         <sequence>
-            <element ref="input" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="tab" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The tab in which this section appears.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique id for the section.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The class that implements the section, i.e. extends &lt;tt&gt;org.eclipse.ui.views.properties.tabbed.AbstractPropertySection&lt;/tt&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.views.properties.tabbed.AbstractPropertySection"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="afterSection" type="string">
-            <annotation>
-               <documentation>
-                  When there is more than one section in a tab, sections are sorted by the afterSection attribute.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="filter" type="string">
-            <annotation>
-               <documentation>
-                  The class that implements a section filter, i.e. implements &lt;tt&gt;org.eclipse.jface.viewers.IFilter&lt;/tt&gt;.
-A filter is used to override the type mapper and input for the selection. When a filter is specified, type mapper and input are ignored.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.viewers.IFilter"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="enablesFor" type="string">
-            <annotation>
-               <documentation>
-                  a value indicating the selection count which must be met to enable the section. If specified and the condition is not met, the section is not displayed. If omitted, the section enablement is not affected. The following attribute formats are currently 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;n&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- a precise number of items selected.&amp;nbsp;
-          For example: enablesFor=&amp;quot; 1&amp;quot; enables the section only when 1
-          item is selected&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="input">
-      <complexType>
-         <attribute name="type" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The selected class or interface that will enable the display on the section in the tab.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.ui.tests.views.properties.tabbed.propertySections&quot;&gt;
-      &lt;propertySections contributorId=&quot;org.eclipse.ui.views.properties.tabbed.views.TestsView&quot;&gt;
-         &lt;propertySection
-               class=&quot;org.eclipse.ui.tests.views.properties.tabbed.sections.NameSection&quot;
-               enablesFor=&quot;1&quot;
-               id=&quot;propertySection1&quot;
-               tab=&quot;propertyTab1&quot;&gt;
-            &lt;input type=&quot;org.eclipse.ui.tests.views.properties.tabbed.model.Element&quot;&gt;
-            &lt;/input&gt;
-         &lt;/propertySection&gt;
-      &lt;/propertySections&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005, 2006 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/schema/propertyTabs.exsd b/bundles/org.eclipse.ui.views.properties.tabbed/schema/propertyTabs.exsd
deleted file mode 100644
index 460ec29..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/schema/propertyTabs.exsd
+++ /dev/null
@@ -1,178 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.views.properties.tabbed">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.views.properties.tabbed" id="propertyTabs" name="Property Tabs"/>
-      </appInfo>
-      <documentation>
-         Describes a list of tabs that will be contributed to the tabbed property sheet page.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="propertyTabs"/>
-         </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="propertyTabs">
-      <complexType>
-         <sequence>
-            <element ref="propertyTab" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="contributorId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique identifier of the property sheet page contributor.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="propertyTab">
-      <complexType>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The label to be displayed on the tab.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="category" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The category used to group tabs.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="afterTab" type="string">
-            <annotation>
-               <documentation>
-                  When there is more than one tab in a category, tabs are sorted by the afterTab attribute.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique id for the tab.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="indented" type="boolean">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="image" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.ui.views.properties.tabbed.propertyTabs&quot;&gt;
-      &lt;propertyTabs contributorId=&quot;org.eclipse.ui.tests.views.properties.tabbed.views.TestsView&quot;&gt;
-         &lt;propertyTab
-               category=&quot;first&quot;
-               id=&quot;propertyTab1&quot;
-               label=&quot;Name&quot;&gt;
-         &lt;/propertyTab&gt;
-         &lt;propertyTab
-               afterTab=&quot;propertyTab1&quot;
-               category=&quot;first&quot;
-               id=&quot;propertyTab2&quot;
-               label=&quot;Project&quot;&gt;
-         &lt;/propertyTab&gt;
-         &lt;propertyTab
-               category=&quot;second&quot;
-               id=&quot;propertyTab8&quot;
-               label=&quot;Message&quot;&gt;
-         &lt;/propertyTab&gt;
-      &lt;/propertyTabs&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005, 2006 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/TabbedPropertyViewPlugin.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/TabbedPropertyViewPlugin.java
deleted file mode 100755
index 0f1447f..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/TabbedPropertyViewPlugin.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.properties.tabbed;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The common ui properties plug-in.
- * 
- * @author Anthony Hunter
- */
-public class TabbedPropertyViewPlugin
-	extends AbstractUIPlugin {
-
-	private static TabbedPropertyViewPlugin plugin;
-
-    /**
-     * Constructor for TabbedPropertyViewPlugin.
-     */
-	public TabbedPropertyViewPlugin() {
-		super();
-		plugin = this;
-	}
-
-    /**
-     * Retrieve the plug-in class for this plug-in.
-     * @return the plug-in class for this plug-in.
-     */
-	public static TabbedPropertyViewPlugin getPlugin() {
-		return plugin;
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/TabbedPropertyViewStatusCodes.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/TabbedPropertyViewStatusCodes.java
deleted file mode 100755
index eafad48..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/TabbedPropertyViewStatusCodes.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.properties.tabbed;
-
-/**
- * A list of status codes for this plug-in.
- * 
- * @author Anthony Hunter
- */
-public final class TabbedPropertyViewStatusCodes {
-
-	/**
-	 * This class should not be instantiated since it is a static constant
-	 * class.
-	 */
-	private TabbedPropertyViewStatusCodes() {
-		/* not used */
-	}
-
-	/**
-	 * Status code indicating that everything is OK.
-	 */
-	public static final int OK = 0;
-
-	/**
-	 * Status code indicating that a tab was not found for the given tab id.
-	 */
-	public static final int NO_TAB_ERROR = 1;
-
-	/**
-	 * Status code indicating that issue was found loading the section extension
-	 * configuration element.
-	 */
-	public static final int SECTION_ERROR = 2;
-
-	/**
-	 * Status code indicating that issue was found loading the tab extension
-	 * configuration element.
-	 */
-	public static final int TAB_ERROR = 3;
-
-	/**
-	 * Status code indicating that issue was found loading the contributor
-	 * extension configuration element.
-	 */
-	public static final int CONTRIBUTOR_ERROR = 4;
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/l10n/TabbedPropertyMessages.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/l10n/TabbedPropertyMessages.java
deleted file mode 100755
index cb80adf..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/l10n/TabbedPropertyMessages.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.properties.tabbed.l10n;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message Bundle class for the tabbed properties view plug-in.
- * 
- * @author Anthony Hunter
- * 
- */
-public final class TabbedPropertyMessages
-	extends NLS {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ui.internal.views.properties.tabbed.l10n.TabbedPropertyMessages";//$NON-NLS-1$
-
-	/**
-	 * Constructor for TabbedPropertyMessages.
-	 */
-	private TabbedPropertyMessages() {
-		// private constructor
-	}
-
-    /**
-     * Message when a property section extension is in error.
-     */
-	public static String SectionDescriptor_Section_error;
-
-    /**
-     * Message when a property tab extension is in error.
-     */
-	public static String TabDescriptor_Tab_error;
-
-    /**
-     * Message when a non existing tab is found in a property section extension.
-     */
-	public static String TabbedPropertyRegistry_Non_existing_tab;
-
-    /**
-     * Message when a property contributor extension is in error.
-     */
-	public static String TabbedPropertyRegistry_contributor_error;
-
-    /**
-     * No properties available message.
-     */
-	public static String TabbedPropertyList_properties_not_available;
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, TabbedPropertyMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/l10n/TabbedPropertyMessages.properties b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/l10n/TabbedPropertyMessages.properties
deleted file mode 100755
index 01aff6b..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/l10n/TabbedPropertyMessages.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-SectionDescriptor_Section_error=Section in {0} must provide an id and a tab.
-TabDescriptor_Tab_error=Tab in {0} must provide an id, label and category.
-TabbedPropertyRegistry_Non_existing_tab=Section {0} declares non-existing tab {1}.
-TabbedPropertyRegistry_contributor_error=Contributor {0} cannot be created.
-TabbedPropertyList_properties_not_available=Properties are not available.
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/SectionDescriptor.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/SectionDescriptor.java
deleted file mode 100755
index b65ad46..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/SectionDescriptor.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.properties.tabbed.view;
-
-import com.ibm.icu.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.viewers.IFilter;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.internal.views.properties.tabbed.TabbedPropertyViewPlugin;
-import org.eclipse.ui.internal.views.properties.tabbed.TabbedPropertyViewStatusCodes;
-import org.eclipse.ui.internal.views.properties.tabbed.l10n.TabbedPropertyMessages;
-import org.eclipse.ui.views.properties.tabbed.ISection;
-import org.eclipse.ui.views.properties.tabbed.ISectionDescriptor;
-import org.eclipse.ui.views.properties.tabbed.ITypeMapper;
-
-/**
- * Represents the default implementation of a section descriptor on the tabbed
- * property sections extensions. This implementation assumes that we are
- * interested in selected objects in an IStructuredSelection.
- * 
- * @author Anthony Hunter
- */
-public class SectionDescriptor
-	implements ISectionDescriptor {
-
-	private final static String SECTION_ERROR = TabbedPropertyMessages.SectionDescriptor_Section_error;
-
-	private static final String ATT_ID = "id"; //$NON-NLS-1$
-
-	private static final String ATT_TARGET_TAB = "tab"; //$NON-NLS-1$
-
-	private static final String ATT_AFTER_SECTION = "afterSection"; //$NON-NLS-1$
-
-	private static final String ATT_CLASS = "class"; //$NON-NLS-1$
-
-	private static final String ATT_SECTION_FILTER = "filter"; //$NON-NLS-1$	
-
-	private static final String ATT_SECTION_ENABLES_FOR = "enablesFor"; //$NON-NLS-1$	
-
-	private static final String ATT_INPUT_TYPE = "type"; //$NON-NLS-1$
-
-	private static final String ELEMENT_INPUT = "input"; //$NON-NLS-1$
-
-	private static final String TOP = "top"; //$NON-NLS-1$
-
-	private String id;
-
-	private String targetTab;
-
-	private String afterSection;
-
-	private ArrayList inputTypes;
-
-	private TabbedPropertyRegistryClassSectionFilter classFilter;
-
-	private IFilter filter;
-
-	private int enablesFor = ENABLES_FOR_ANY;
-
-	private IConfigurationElement configurationElement;
-
-	/**
-	 * Constructor for the section descriptor.
-	 * 
-	 * @param configurationElement
-	 *            the configuration element for the section descriptor.
-	 * @param typeMapper
-	 *            The type mapper.
-	 */
-	protected SectionDescriptor(IConfigurationElement configurationElement,
-			ITypeMapper typeMapper) {
-		this.configurationElement = configurationElement;
-
-		classFilter = new TabbedPropertyRegistryClassSectionFilter(typeMapper);
-		id = getConfigurationElement().getAttribute(ATT_ID);
-		targetTab = getConfigurationElement().getAttribute(ATT_TARGET_TAB);
-		afterSection = getConfigurationElement()
-			.getAttribute(ATT_AFTER_SECTION);
-		if (getConfigurationElement().getAttribute(ATT_SECTION_ENABLES_FOR) != null) {
-			String enablesForStr = getConfigurationElement().getAttribute(
-				ATT_SECTION_ENABLES_FOR);
-			int enablesForTest = Integer.parseInt(enablesForStr);
-			if (enablesForTest > 0) {
-				enablesFor = enablesForTest;
-			}
-		}
-
-		if (id == null || targetTab == null) {
-			// the section id and tab are mandatory - log error
-			handleSectionError(null);
-		}
-		if (getAfterSection() == null) {
-			afterSection = TOP;
-		}
-	}
-
-	/**
-	 * Handle the section error when an issue is found loading from the
-	 * configuration element.
-	 * 
-	 * @param configurationElement
-	 *            the configuration element
-	 * @param exception
-	 *            an optional CoreException
-	 */
-	private void handleSectionError(CoreException exception) {
-		String pluginId = getConfigurationElement().getDeclaringExtension()
-			.getNamespace();
-		String message = MessageFormat.format(SECTION_ERROR,
-			new Object[] {pluginId});
-		IStatus status = new Status(IStatus.ERROR, pluginId,
-			TabbedPropertyViewStatusCodes.SECTION_ERROR, message, exception);
-		TabbedPropertyViewPlugin.getPlugin().getLog().log(status);
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISectionDescriptor#getId()
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISectionDescriptor#getFilter()
-	 */
-	public IFilter getFilter() {
-		if (filter == null) {
-			try {
-				if (getConfigurationElement().getAttribute(ATT_SECTION_FILTER) != null) {
-					filter = (IFilter) configurationElement
-						.createExecutableExtension(ATT_SECTION_FILTER);
-				}
-			} catch (CoreException exception) {
-				handleSectionError(exception);
-			}
-		}
-		return filter;
-	}
-
-	/**
-	 * Retrieves the value for section enablement which is a precise number of
-	 * items selected. For example: enablesFor=" 4" enables the action only when
-	 * 4 items are selected. If not specified, enable for all selections.
-	 * 
-	 * @return the value for section enablement.
-	 */
-	public int getEnablesFor() {
-		return enablesFor;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISectionDescriptor#getTargetTab()
-	 */
-	public String getTargetTab() {
-		return targetTab;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISectionDescriptor#appliesTo(org.eclipse.ui.IWorkbenchPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public boolean appliesTo(IWorkbenchPart part, ISelection selection) {
-		return classFilter.appliesToSelection(this, selection);
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISectionDescriptor#getAfterSection()
-	 */
-	public String getAfterSection() {
-		return afterSection;
-	}
-
-	/**
-	 * Creates an instance of a section described by this descriptor
-	 * 
-	 * @see org.eclipse.ui.views.properties.tabbed.ISectionDescriptor#getSectionClass()
-	 */
-	public ISection getSectionClass() {
-		ISection section = null;
-		try {
-			section = (ISection) getConfigurationElement()
-				.createExecutableExtension(ATT_CLASS);
-		} catch (CoreException exception) {
-			handleSectionError(exception);
-		}
-
-		return section;
-	}
-
-	/**
-	 * Gets the input types that are valid for this section.
-	 * 
-	 * @see org.eclipse.ui.views.properties.tabbed.ISectionDescriptor#getInputTypes()
-	 */
-	public List getInputTypes() {
-		if (inputTypes == null) {
-			inputTypes = new ArrayList();
-			IConfigurationElement[] elements = getConfigurationElement()
-				.getChildren(ELEMENT_INPUT);
-			for (int i = 0; i < elements.length; i++) {
-				IConfigurationElement element = elements[i];
-				inputTypes.add(element.getAttribute(ATT_INPUT_TYPE));
-			}
-		}
-
-		return inputTypes;
-	}
-
-	/**
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getId();
-	}
-
-	/**
-	 * @return Returns the configurationElement.
-	 */
-	private IConfigurationElement getConfigurationElement() {
-		return configurationElement;
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/Tab.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/Tab.java
deleted file mode 100755
index 09ce815..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/Tab.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.properties.tabbed.view;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.tabbed.ISection;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * A property tab is composed by one or more property sections and is used to
- * categorize sections.
- * 
- * @author Anthony Hunter
- */
-public class Tab {
-
-    private ISection[] sections;
-
-    private boolean controlsCreated;
-
-    Tab() {
-        controlsCreated = false;
-    }
-
-    /**
-     * Retrieve a numbered index for the section.
-     * @param section the section.
-     * @return the section index.
-     */
-    public int getSectionIndex(ISection section) {
-        for (int i = 0; i < sections.length; i++) {
-			if (section == sections[i]) {
-				return i;
-			}
-		}
-        return -1;
-    }
-
-    /**
-     * Retrieve the section at a numbered index.
-     * @param i a numbered index.
-     * @return the section.
-     */
-    public ISection getSectionAtIndex(int i) {
-        if (i >= 0 && i < sections.length) {
-			return sections[i];
-		}
-        return null;
-    }
-
-    /**
-     * Retrieve the sections on the tab.
-     * 
-     * @return the sections on the tab.
-     */
-    public ISection[] getSections() {
-        return sections;
-    }
-
-    /**
-     * Creates page's sections controls.
-     * 
-     * @param parent
-     * @param page
-     */
-    public void createControls(Composite parent,
-            final TabbedPropertySheetPage page) {
-        Composite pageComposite = page.getWidgetFactory().createComposite(
-            parent, SWT.NO_FOCUS);
-        GridLayout layout = new GridLayout();
-        layout.marginWidth = 0;
-        layout.marginHeight = 0;
-        layout.verticalSpacing = 0;
-        pageComposite.setLayout(layout);
-
-        for (int i = 0; i < sections.length; i++) {
-            final ISection section = sections[i];
-            final Composite sectionComposite = page.getWidgetFactory()
-                .createComposite(pageComposite, SWT.NO_FOCUS);
-            sectionComposite.setLayout(new FillLayout());
-            int style = (section.shouldUseExtraSpace()) ? GridData.FILL_BOTH
-                : GridData.FILL_HORIZONTAL;
-            GridData data = new GridData(style);
-            data.heightHint = section.getMinimumHeight();
-            sectionComposite.setLayoutData(data);
-
-            ISafeRunnable runnable = new ISafeRunnable() {
-
-                public void run()
-                    throws Exception {
-                    section.createControls(sectionComposite, page);
-                }
-
-                public void handleException(Throwable exception) {
-                    /* not used */
-                }
-            };
-            Platform.run(runnable);
-        }
-        controlsCreated = true;
-    }
-
-    /**
-     * Dispose of page's sections controls.
-     */
-    public void dispose() {
-        for (int i = 0; i < sections.length; i++) {
-            final ISection section = sections[i];
-            ISafeRunnable runnable = new ISafeRunnable() {
-
-                public void run()
-                    throws Exception {
-                    section.dispose();
-                }
-
-                public void handleException(Throwable exception) {
-                    /* not used */
-                }
-            };
-            Platform.run(runnable);
-        }
-    }
-
-    /**
-     * Sends the lifecycle event to the page's sections.
-     */
-    public void aboutToBeShown() {
-        for (int i = 0; i < sections.length; i++) {
-            final ISection section = sections[i];
-            ISafeRunnable runnable = new ISafeRunnable() {
-
-                public void run()
-                    throws Exception {
-                    section.aboutToBeShown();
-                }
-
-                public void handleException(Throwable exception) {
-                    /* not used */
-                }
-            };
-            Platform.run(runnable);
-        }
-    }
-
-    /**
-     * Sends the lifecycle event to the page's sections.
-     */
-    public void aboutToBeHidden() {
-        for (int i = 0; i < sections.length; i++) {
-            final ISection section = sections[i];
-            ISafeRunnable runnable = new ISafeRunnable() {
-
-                public void run()
-                    throws Exception {
-                    section.aboutToBeHidden();
-                }
-
-                public void handleException(Throwable exception) {
-                    /* not used */
-                }
-            };
-            Platform.run(runnable);
-        }
-    }
-
-    /**
-     * Sets page's sections input objects.
-     * 
-     * @param part
-     * @param selection
-     */
-    public void setInput(final IWorkbenchPart part, final ISelection selection) {
-        for (int i = 0; i < sections.length; i++) {
-            final ISection section = sections[i];
-            ISafeRunnable runnable = new ISafeRunnable() {
-
-                public void run()
-                    throws Exception {
-                    section.setInput(part, selection);
-                }
-
-                public void handleException(Throwable throwable) {
-                    throwable.printStackTrace();
-                }
-            };
-            Platform.run(runnable);
-        }
-    }
-
-    void setSections(ISection[] sections) {
-        this.sections = sections;
-    }
-
-    /**
-     * 
-     * @return <code>true</code> if controls have been created.
-     */
-    public boolean controlsHaveBeenCreated() {
-        return controlsCreated;
-    }
-
-    /**
-     * If controls have been created, refresh all sections on the page.
-     */
-    public void refresh() {
-        if (controlsCreated) {
-            for (int i = 0; i < sections.length; i++) {
-                final ISection section = sections[i];
-                ISafeRunnable runnable = new ISafeRunnable() {
-
-                    public void run()
-                        throws Exception {
-                        section.refresh();
-                    }
-
-                    public void handleException(Throwable throwable) {
-                        throwable.printStackTrace();
-                    }
-                };
-                Platform.run(runnable);
-            }
-        }
-    }
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabDescriptor.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabDescriptor.java
deleted file mode 100755
index b4e82ed..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabDescriptor.java
+++ /dev/null
@@ -1,402 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.properties.tabbed.view;
-
-import com.ibm.icu.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.internal.views.properties.tabbed.TabbedPropertyViewPlugin;
-import org.eclipse.ui.internal.views.properties.tabbed.TabbedPropertyViewStatusCodes;
-import org.eclipse.ui.internal.views.properties.tabbed.l10n.TabbedPropertyMessages;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.views.properties.tabbed.ISection;
-import org.eclipse.ui.views.properties.tabbed.ISectionDescriptor;
-import org.eclipse.ui.views.properties.tabbed.ITabItem;
-
-/**
- * Represents the default implementation of a tab descriptor on the tabbed
- * property tabs extensions.
- * 
- * @author Anthony Hunter
- */
-public class TabDescriptor
-	implements Cloneable, ITabItem {
-
-	private static final String ATT_ID = "id"; //$NON-NLS-1$
-
-	private static final String ATT_LABEL = "label"; //$NON-NLS-1$
-
-	private static final String ATT_IMAGE = "image"; //$NON-NLS-1$
-
-	private static final String ATT_INDENTED = "indented"; //$NON-NLS-1$
-
-	private static final String ATT_CATEGORY = "category"; //$NON-NLS-1$
-
-	private static final String ATT_AFTER_TAB = "afterTab"; //$NON-NLS-1$
-
-	private static final String TOP = "top"; //$NON-NLS-1$
-
-	private final static String TAB_ERROR = TabbedPropertyMessages.TabDescriptor_Tab_error;
-
-	private String id;
-
-	private String label;
-
-	private Image image;
-
-	private boolean selected;
-
-	private boolean indented;
-
-	private String category;
-
-	private String afterTab;
-
-	private List sectionDescriptors;
-
-	/**
-	 * Constructor for TabDescriptor.
-	 * 
-	 * @param configurationElement
-	 *            the configuration element for the tab descriptor.
-	 */
-	public TabDescriptor(IConfigurationElement configurationElement) {
-		if (configurationElement != null) {
-			id = configurationElement.getAttribute(ATT_ID);
-			label = configurationElement.getAttribute(ATT_LABEL);
-			String imageString = configurationElement.getAttribute(ATT_IMAGE);
-			if (imageString != null) {
-				image = AbstractUIPlugin
-					.imageDescriptorFromPlugin(
-						configurationElement.getDeclaringExtension()
-							.getNamespace(), imageString).createImage();
-			}
-			String indentedString = configurationElement
-				.getAttribute(ATT_INDENTED);
-			indented = indentedString != null && indentedString.equals("true"); //$NON-NLS-1$
-			category = configurationElement.getAttribute(ATT_CATEGORY);
-			afterTab = configurationElement.getAttribute(ATT_AFTER_TAB);
-			if (id == null || label == null || category == null) {
-				// the tab id, label and category are mandatory - log error
-				handleTabError(configurationElement, null);
-			}
-		}
-		if (getAfterTab() == null) {
-			afterTab = TOP;
-		}
-		sectionDescriptors = new ArrayList(5);
-		selected = false;
-	}
-
-	/**
-	 * Get the unique identifier for the tab.
-	 * 
-	 * @return the unique identifier for the tab.
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * Get the text label for the tab.
-	 * 
-	 * @return the text label for the tab.
-	 */
-	public String getLabel() {
-		return label;
-	}
-
-	/**
-	 * Get the identifier of the tab after which this tab should be displayed.
-	 * When two or more tabs belong to the same category, they are sorted by the
-	 * after tab values.
-	 * 
-	 * @return the identifier of the tab.
-	 */
-	protected String getAfterTab() {
-		return afterTab;
-	}
-
-	/**
-	 * Get the category this tab belongs to.
-	 * 
-	 * @return Get the category this tab belongs to.
-	 */
-	protected String getCategory() {
-		return category;
-	}
-
-	/**
-	 * Returns whether the given section was added to this tab. The section can
-	 * be appended if its tab attribute matches the tab id. The afterSection
-	 * attribute indicates the order in which the section should be appended.
-	 * 
-	 * @param target
-	 *            the section descriptor to append.
-	 */
-	protected boolean append(ISectionDescriptor target) {
-		if (!target.getTargetTab().equals(id)) {
-			return false;
-		}
-
-		if (insertSectionDescriptor(target)) {
-			return true;
-		}
-
-		sectionDescriptors.add(target);
-		return true;
-	}
-
-	/**
-	 * Insert the section descriptor into the section descriptor list.
-	 * 
-	 * @param target
-	 *            the section descriptor to insert.
-	 * @return <code>true</code> if the target descriptor was added to the
-	 *         descriptors list.
-	 */
-	private boolean insertSectionDescriptor(ISectionDescriptor target) {
-		if (target.getAfterSection().equals(TOP)) {
-			sectionDescriptors.add(0, target);
-			return true;
-		}
-		for (int i = 0; i < sectionDescriptors.size(); i++) {
-			ISectionDescriptor descriptor = (ISectionDescriptor) sectionDescriptors
-				.get(i);
-			if (target.getAfterSection().equals(descriptor.getId())) {
-				sectionDescriptors.add(i + 1, target);
-				return true;
-			} else {
-				if (descriptor.getAfterSection().equals(target.getId())) {
-					sectionDescriptors.add(i, target);
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Instantiate this tab's sections.
-	 */
-	public Tab createTab() {
-		List sections = new ArrayList(sectionDescriptors.size());
-		for (Iterator iter = sectionDescriptors.iterator(); iter.hasNext();) {
-			ISectionDescriptor descriptor = (ISectionDescriptor) iter.next();
-			ISection section = descriptor.getSectionClass();
-			sections.add(section);
-		}
-		Tab tab = new Tab();
-		tab.setSections((ISection[]) sections.toArray(new ISection[sections
-			.size()]));
-		return tab;
-	}
-
-	/**
-	 * Get the list of section descriptors for the tab.
-	 * 
-	 * @return the list of section descriptors for the tab.
-	 */
-	protected List getSectionDescriptors() {
-		return sectionDescriptors;
-	}
-
-	/**
-	 * Set the list of section descriptors for the tab.
-	 * 
-	 * @param sectionDescriptors
-	 *            the list of section descriptors for the tab.
-	 */
-	protected void setSectionDescriptors(List sectionDescriptors) {
-		this.sectionDescriptors = sectionDescriptors;
-	}
-
-	/**
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getId();
-	}
-
-	/**
-	 * Handle the tab error when an issue is found loading from the
-	 * configuration element.
-	 * 
-	 * @param configurationElement
-	 *            the configuration element
-	 * @param exception
-	 *            an optional CoreException
-	 */
-	private void handleTabError(IConfigurationElement configurationElement,
-			CoreException exception) {
-		String pluginId = configurationElement.getDeclaringExtension()
-			.getNamespace();
-		String message = MessageFormat.format(TAB_ERROR,
-			new Object[] {pluginId});
-		IStatus status = new Status(IStatus.ERROR, pluginId,
-			TabbedPropertyViewStatusCodes.TAB_ERROR, message, exception);
-		TabbedPropertyViewPlugin.getPlugin().getLog().log(status);
-	}
-
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {
-		if (this == object) {
-			return true;
-		}
-
-		if (this.getClass() == object.getClass()) {
-			TabDescriptor descriptor = (TabDescriptor) object;
-			if (this.getCategory().equals(descriptor.getCategory())
-				&& this.getId().equals(descriptor.getId())
-				&& this.getSectionDescriptors().size() == descriptor
-					.getSectionDescriptors().size()) {
-
-				Iterator i = this.getSectionDescriptors().iterator();
-				Iterator j = descriptor.getSectionDescriptors().iterator();
-
-				// the order is importent here - so as long as the sizes of the
-				// lists are the same and id of the section at the same
-				// positions are the same - the lists are the same
-				while (i.hasNext()) {
-					ISectionDescriptor source = (ISectionDescriptor) i.next();
-					ISectionDescriptor target = (ISectionDescriptor) j.next();
-					if (!source.getId().equals(target.getId())) {
-						return false;
-					}
-				}
-
-				return true;
-			}
-
-		}
-
-		return false;
-	}
-
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-
-		int hashCode = getCategory().hashCode();
-		hashCode ^= getId().hashCode();
-		Iterator i = this.getSectionDescriptors().iterator();
-		while (i.hasNext()) {
-			ISectionDescriptor section = (ISectionDescriptor) i.next();
-			hashCode ^= section.getId().hashCode();
-		}
-		return hashCode;
-	}
-
-	/**
-	 * @see java.lang.Object#clone()
-	 */
-	public Object clone() {
-		try {
-			return super.clone();
-		} catch (CloneNotSupportedException exception) {
-			IStatus status = new Status(IStatus.ERROR, TabbedPropertyViewPlugin
-				.getPlugin().getBundle().getSymbolicName(), 666, exception
-				.getMessage(), exception);
-			TabbedPropertyViewPlugin.getPlugin().getLog().log(status);
-		}
-		return null;
-	}
-
-	/**
-	 * Set the image for the tab.
-	 * 
-	 * @param image
-	 *            the image for the tab.
-	 */
-	protected void setImage(Image image) {
-		this.image = image;
-	}
-
-	/**
-	 * Set the indicator to determine if the tab should be displayed as
-	 * indented.
-	 * 
-	 * @param indented
-	 *            <code>true</code> if the tab should be displayed as
-	 *            indented.
-	 */
-	protected void setIndented(boolean indented) {
-		this.indented = indented;
-	}
-
-	/**
-	 * Set the indicator to determine if the tab should be the selected tab in
-	 * the list.
-	 * 
-	 * @param selected
-	 *            <code>true</code> if the tab should be the selected tab in
-	 *            the list.
-	 */
-	protected void setSelected(boolean selected) {
-		this.selected = selected;
-	}
-
-	/**
-	 * Set the text label for the tab.
-	 * 
-	 * @param label
-	 *            the text label for the tab.
-	 */
-	protected void setLabel(String label) {
-		this.label = label;
-	}
-
-	/**
-	 * Get the image for the tab.
-	 * 
-	 * @return the image for the tab.
-	 */
-	public Image getImage() {
-		return image;
-	}
-
-	/**
-	 * Determine if the tab is selected.
-	 * 
-	 * @return <code>true</code> if the tab is selected.
-	 */
-	public boolean isSelected() {
-		return selected;
-	}
-
-	/**
-	 * Determine if the tab should be displayed as indented.
-	 * 
-	 * @return <code>true</code> if the tab should be displayed as indented.
-	 */
-	public boolean isIndented() {
-		return indented;
-	}
-
-	/**
-	 * Get the text label for the tab.
-	 * 
-	 * @return the text label for the tab.
-	 */
-	public String getText() {
-		return label;
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabListContentProvider.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabListContentProvider.java
deleted file mode 100755
index d1a4b5a..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabListContentProvider.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.properties.tabbed.view;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.IWorkbenchPart;
-
-
-/**
- * The default implementation of the content provider for the 
- * tabbed property sheet page's list of tabs.
- * 
- * @author Anthony Hunter
- */
-public class TabListContentProvider
-	implements IStructuredContentProvider {
-	
-	private TabbedPropertyRegistry registry;
-
-	private IWorkbenchPart currentPart;
-	
-	/**
-	 * Constructor for TabListContentProvider.
-	 */
-	public TabListContentProvider(TabbedPropertyRegistry registry) {
-		this.registry = registry;
-	}
-	
-	/**
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		Assert.isTrue(inputElement instanceof ISelection);
-			return registry
-			.getTabDescriptors(currentPart, (ISelection) inputElement);
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-	 */
-	public void dispose() {
-		/* not used */
-	}
-
-	/**
-	 * @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) {
-		this.currentPart = ((TabbedPropertyViewer)viewer).getWorkbenchPart();
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyComposite.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyComposite.java
deleted file mode 100755
index a51f359..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyComposite.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.properties.tabbed.view;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
-
-
-/**
- * Composite responsible for drawing the tabbed property sheet page.
- * 
- * @author Anthony Hunter
- */
-public class TabbedPropertyComposite
-	extends Composite {
-
-	private TabbedPropertySheetWidgetFactory factory;
-
-	private Composite mainComposite;
-
-	private Composite leftComposite;
-
-	private ScrolledComposite scrolledComposite;
-
-	private Composite tabComposite;
-
-	private TabbedPropertyTitle title;
-
-	private TabbedPropertyList listComposite;
-
-	private boolean displayTitle;
-
-	/**
-	 * Constructor for a TabbedPropertyComposite
-	 * 
-	 * @param parent
-	 *            the parent widget.
-	 * @param factory
-	 *            the widget factory.
-	 * @param displayTitle
-	 *            if <code>true</code>, then the title bar will be displayed.
-	 */
-	public TabbedPropertyComposite(Composite parent,
-			TabbedPropertySheetWidgetFactory factory, boolean displayTitle) {
-		super(parent, SWT.NO_FOCUS);
-		this.factory = factory;
-		this.displayTitle = displayTitle;
-
-		createMainComposite();
-	}
-
-	/**
-	 * Create the main composite.
-	 */
-	protected void createMainComposite() {
-		mainComposite = factory.createComposite(this, SWT.NO_FOCUS);
-		mainComposite.setLayout(new FormLayout());
-		FormData formData = new FormData();
-		formData.left = new FormAttachment(0, 0);
-		formData.right = new FormAttachment(100, 0);
-		formData.top = new FormAttachment(0, 0);
-		formData.bottom = new FormAttachment(100, 0);
-		mainComposite.setLayoutData(formData);
-
-		createMainContents();
-	}
-
-	/**
-	 * Create the contents in the main composite.
-	 */
-	protected void createMainContents() {
-        if (displayTitle) {
-            title = new TabbedPropertyTitle(mainComposite, factory);
-
-            FormData data = new FormData();
-            data.left = new FormAttachment(0, 0);
-            data.right = new FormAttachment(100, 0);
-            data.top = new FormAttachment(0, 0);
-            title.setLayoutData(data);
-        }
-
-		leftComposite = factory.createComposite(mainComposite, SWT.NO_FOCUS);
-		leftComposite.setLayout(new FormLayout());
-
-		scrolledComposite = factory.createScrolledComposite(mainComposite, SWT.H_SCROLL
-			| SWT.V_SCROLL | SWT.NO_FOCUS);
-		scrolledComposite.setLayout(new FormLayout());
-
-		FormData formData = new FormData();
-		formData.left = new FormAttachment(leftComposite, 0);
-		formData.right = new FormAttachment(100, 0);
-        if (displayTitle) {
-            formData.top = new FormAttachment(title, 0);
-        } else {
-            formData.top = new FormAttachment(0, 0);
-        }
-		formData.bottom = new FormAttachment(100, 0);
-		scrolledComposite.setLayoutData(formData);
-
-		formData = new FormData();
-		formData.left = new FormAttachment(0, 0);
-		formData.right = new FormAttachment(scrolledComposite, 0);
-        if (displayTitle) {
-            formData.top = new FormAttachment(title, 0);
-        } else {
-            formData.top = new FormAttachment(0, 0);
-        }
-		formData.bottom = new FormAttachment(100, 0);
-		leftComposite.setLayoutData(formData);
-
-        tabComposite = factory.createComposite(scrolledComposite, SWT.NO_FOCUS);
-        tabComposite.setLayout(new FormLayout());
-
-		scrolledComposite.setContent(tabComposite);
-		scrolledComposite.setAlwaysShowScrollBars(false);
-		scrolledComposite.setExpandVertical(true);
-		scrolledComposite.setExpandHorizontal(true);
-
-		listComposite = new TabbedPropertyList(leftComposite, factory);
-		formData = new FormData();
-		formData.left = new FormAttachment(0, 0);
-		formData.right = new FormAttachment(100, 0);
-		formData.top = new FormAttachment(0, 0);
-		formData.bottom = new FormAttachment(100, 0);
-		listComposite.setLayoutData(formData);
-
-		FormData data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(100, 0);
-        data.top = new FormAttachment(0, 0);
-		data.bottom = new FormAttachment(100, 0);
-		tabComposite.setLayoutData(data);
-	}
-
-	/**
-	 * Get the tabbed property list, which is the list of tabs on the left hand
-	 * side of this composite.
-	 * 
-	 * @return the tabbed property list.
-	 */
-	public TabbedPropertyList getList() {
-		return listComposite;
-	}
-
-	/**
-	 * Get the tabbed property title bar.
-	 * 
-	 * @return the tabbed property title bar or <code>null</code> if not used.
-	 */
-	public TabbedPropertyTitle getTitle() {
-		return title;
-	}
-
-	/**
-	 * Get the tab composite where sections display their property contents.
-	 * 
-	 * @return the tab composite.
-	 */
-	public Composite getTabComposite() {
-		return tabComposite;
-	}
-
-	/**
-	 * Get the scrolled composite which surrounds the title bar and tab
-	 * composite.
-	 * 
-	 * @return the scrolled composite.
-	 */
-	public ScrolledComposite getScrolledComposite() {
-		return scrolledComposite;
-	}
-
-	/**
-	 * Get the widget factory.
-	 * 
-	 * @return the widget factory.
-	 */
-	protected TabbedPropertySheetWidgetFactory getFactory() {
-		return factory;
-	}
-
-	/**
-	 * @see org.eclipse.swt.widgets.Widget#dispose()
-	 */
-	public void dispose() {
-		listComposite.dispose();
-		if (displayTitle) {
-			title.dispose();
-		}
-		super.dispose();
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyList.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyList.java
deleted file mode 100755
index ab4b1c5..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyList.java
+++ /dev/null
@@ -1,1057 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.properties.tabbed.view;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.accessibility.Accessible;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlEvent;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-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.MouseMoveListener;
-import org.eclipse.swt.events.MouseTrackAdapter;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.internal.views.properties.tabbed.l10n.TabbedPropertyMessages;
-import org.eclipse.ui.views.properties.tabbed.ITabItem;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
-
-
-/**
- * Shows the list of tabs in the tabbed property sheet page.
- * 
- * @author Anthony Hunter
- */
-public class TabbedPropertyList
-	extends Composite {
-
-	private static final ListElement[] ELEMENTS_EMPTY = new ListElement[0];
-
-	protected static final int NONE = -1;
-
-	protected static final int INDENT = 7;
-
-	private ListElement[] elements;
-
-	private int selectedElementIndex = NONE;
-
-	private int topVisibleIndex = NONE;
-
-	private int bottomVisibleIndex = NONE;
-
-	private TopNavigationElement topNavigationElement;
-
-	private BottomNavigationElement bottomNavigationElement;
-
-	private int widestLabelIndex = NONE;
-
-	private int tabsThatFitInComposite = NONE;
-
-	private Color widgetForeground;
-
-	private Color widgetBackground;
-
-	private Color widgetNormalShadow;
-
-	private Color widgetDarkShadow;
-
-	private Color listBackground;
-
-	private Color hoverGradientStart;
-
-	private Color hoverGradientEnd;
-
-	private Color defaultGradientStart;
-
-	private Color defaultGradientEnd;
-
-	private Color indentedDefaultBackground;
-
-	private Color indentedHoverBackground;
-
-	private Color navigationElementShadowStroke;
-
-	private Color bottomNavigationElementShadowStroke1;
-
-	private Color bottomNavigationElementShadowStroke2;
-
-	private TabbedPropertySheetWidgetFactory factory;
-
-	/**
-	 * One of the tabs in the tabbed property list.
-	 */
-	public class ListElement extends Canvas {
-
-		private ITabItem tab;
-
-		private int index;
-
-		private boolean selected;
-
-		private boolean hover;
-
-		/**
-		 * Constructor for ListElement.
-		 * 
-		 * @param parent
-		 *            the parent Composite.
-		 * @param tab
-		 *            the tab item for the element.
-		 * @param index
-		 *            the index in the list.
-		 */
-		public ListElement(Composite parent, final ITabItem tab, int index) {
-			super(parent, SWT.NO_FOCUS);
-			this.tab = tab;
-			hover = false;
-			selected = false;
-			this.index = index;
-
-			addPaintListener(new PaintListener() {
-
-				public void paintControl(PaintEvent e) {
-					paint(e);
-				}
-			});
-			addMouseListener(new MouseAdapter() {
-
-				public void mouseUp(MouseEvent e) {
-					if (!selected) {
-						select(getIndex(ListElement.this));
-						/*
-						 * We set focus to the tabbed property composite so that
-						 * focus is moved to the appropriate widget in the
-						 * section.
-						 */
-						Composite tabbedPropertyComposite = getParent();
-						while (!(tabbedPropertyComposite instanceof TabbedPropertyComposite)) {
-							tabbedPropertyComposite = tabbedPropertyComposite
-								.getParent();
-						}
-						tabbedPropertyComposite.setFocus();
-					}
-				}
-			});
-			addMouseMoveListener(new MouseMoveListener() {
-
-				public void mouseMove(MouseEvent e) {
-					if (!hover) {
-						hover = true;
-						redraw();
-					}
-				}
-			});
-			addMouseTrackListener(new MouseTrackAdapter() {
-
-				public void mouseExit(MouseEvent e) {
-					hover = false;
-					redraw();
-				}
-			});
-		}
-
-		/**
-		 * Set selected value for this element.
-		 * 
-		 * @param selected
-		 *            the selected value.
-		 */
-		public void setSelected(boolean selected) {
-			this.selected = selected;
-			redraw();
-		}
-
-		/**
-		 * Paint the element.
-		 * 
-		 * @param e
-		 *            the paint event.
-		 */
-		private void paint(PaintEvent e) {
-			/*
-			 * draw the top two lines of the tab, same for selected, hover and
-			 * default
-			 */
-			Rectangle bounds = getBounds();
-			e.gc.setForeground(widgetNormalShadow);
-			e.gc.drawLine(0, 0, bounds.width - 1, 0);
-			e.gc.setForeground(listBackground);
-			e.gc.drawLine(0, 1, bounds.width - 1, 1);
-
-			/* draw the fill in the tab */
-			if (selected) {
-				e.gc.setBackground(listBackground);
-				e.gc.fillRectangle(0, 2, bounds.width, bounds.height - 1);
-			} else if (hover && tab.isIndented()) {
-				e.gc.setBackground(indentedHoverBackground);
-				e.gc.fillRectangle(0, 2, bounds.width - 1, bounds.height - 1);
-			} else if (hover) {
-				e.gc.setForeground(hoverGradientStart);
-				e.gc.setBackground(hoverGradientEnd);
-				e.gc.fillGradientRectangle(0, 2, bounds.width - 1,
-						bounds.height - 1, true);
-			} else if (tab.isIndented()) {
-				e.gc.setBackground(indentedDefaultBackground);
-				e.gc.fillRectangle(0, 2, bounds.width - 1, bounds.height - 1);
-			} else {
-				e.gc.setForeground(defaultGradientStart);
-				e.gc.setBackground(defaultGradientEnd);
-				e.gc.fillGradientRectangle(0, 2, bounds.width - 1,
-						bounds.height - 1, true);
-			}
-
-			if (!selected) {
-				e.gc.setForeground(widgetNormalShadow);
-				e.gc.drawLine(bounds.width - 1, 1, bounds.width - 1,
-						bounds.height + 1);
-			}
-
-			int textIndent = INDENT;
-			FontMetrics fm = e.gc.getFontMetrics();
-			int height = fm.getHeight();
-			int textMiddle = (bounds.height - height) / 2;
-
-			if (selected && tab.getImage() != null
-				&& !tab.getImage().isDisposed()) {
-				/* draw the icon for the selected tab */
-				if (tab.isIndented()) {
-					textIndent = textIndent + INDENT;
-				} else {
-					textIndent = textIndent - 3;
-				}
-				e.gc.drawImage(tab.getImage(), textIndent, textMiddle - 1);
-				textIndent = textIndent + 16 + 5;
-			} else if (tab.isIndented()) {
-				textIndent = textIndent + INDENT;
-			}
-
-			/* draw the text */
-			e.gc.setForeground(widgetForeground);
-			if (selected) {
-				/* selected tab is bold font */
-				e.gc.setFont(JFaceResources.getFontRegistry().getBold(
-						JFaceResources.DEFAULT_FONT));
-			}
-			e.gc.drawText(tab.getText(), textIndent, textMiddle, true);
-
-			/* draw the bottom line on the tab for selected and default */
-			if (!hover) {
-				e.gc.setForeground(listBackground);
-				e.gc.drawLine(0, bounds.height - 1, bounds.width - 2,
-						bounds.height - 1);
-			}
-		}
-
-		/**
-		 * Get the tab item.
-		 * 
-		 * @return the tab item.
-		 */
-		public ITabItem getTabItem() {
-			return tab;
-		}
-
-		public String toString() {
-			return tab.getText();
-		}
-	}
-
-	/**
-	 * The top navigation element in the tabbed property list. It looks like a
-	 * scroll button when scrolling is needed or is just a spacer when no
-	 * scrolling is required.
-	 */
-	public class TopNavigationElement extends Canvas {
-
-		/**
-		 * Constructor for TopNavigationElement.
-		 * 
-		 * @param parent
-		 *            the parent Composite.
-		 */
-		public TopNavigationElement(Composite parent) {
-			super(parent, SWT.NO_FOCUS);
-			addPaintListener(new PaintListener() {
-
-				public void paintControl(PaintEvent e) {
-					paint(e);
-				}
-			});
-			addMouseListener(new MouseAdapter() {
-
-				public void mouseUp(MouseEvent e) {
-					if (isUpScrollRequired()) {
-						bottomVisibleIndex--;
-						if (topVisibleIndex != 0) {
-							topVisibleIndex--;
-						}
-						layoutTabs();
-						topNavigationElement.redraw();
-						bottomNavigationElement.redraw();
-					}
-				}
-			});
-		}
-
-		/**
-		 * Paint the element.
-		 * 
-		 * @param e
-		 *            the paint event.
-		 */
-		private void paint(PaintEvent e) {
-			e.gc.setBackground(widgetBackground);
-			e.gc.setForeground(widgetForeground);
-			Rectangle bounds = getBounds();
-
-			if (elements.length != 0) {
-				e.gc.fillRectangle(0, 0, bounds.width, bounds.height);
-				e.gc.setForeground(widgetNormalShadow);
-				e.gc.drawLine(bounds.width - 1, 0, bounds.width - 1,
-					bounds.height - 1);
-			} else {
-				e.gc.setBackground(listBackground);
-				e.gc.fillRectangle(0, 0, bounds.width, bounds.height);
-				int textIndent = INDENT;
-				FontMetrics fm = e.gc.getFontMetrics();
-				int height = fm.getHeight();
-				int textMiddle = (bounds.height - height) / 2;
-				e.gc.setForeground(widgetForeground);
-				String properties_not_available = TabbedPropertyMessages.TabbedPropertyList_properties_not_available;
-				e.gc.drawText(properties_not_available, textIndent, textMiddle);
-			}
-
-			if (isUpScrollRequired()) {
-				e.gc.setForeground(widgetDarkShadow);
-				int middle = bounds.width / 2;
-				e.gc.drawLine(middle + 1, 3, middle + 5, 7);
-				e.gc.drawLine(middle, 3, middle - 4, 7);
-				e.gc.drawLine(middle - 3, 7, middle + 4, 7);
-
-				e.gc.setForeground(listBackground);
-				e.gc.drawLine(middle, 4, middle + 1, 4);
-				e.gc.drawLine(middle - 1, 5, middle + 2, 5);
-				e.gc.drawLine(middle - 2, 6, middle + 3, 6);
-
-				e.gc.setForeground(widgetNormalShadow);
-				e.gc.drawLine(0, 0, bounds.width - 2, 0);
-				e.gc.setForeground(navigationElementShadowStroke);
-				e.gc.drawLine(0, 1, bounds.width - 2, 1);
-				e.gc.drawLine(0, bounds.height - 1, bounds.width - 2,
-						bounds.height - 1);
-			}
-		}
-	}
-
-	/**
-	 * The top navigation element in the tabbed property list. It looks like a
-	 * scroll button when scrolling is needed or is just a spacer when no
-	 * scrolling is required.
-	 */
-	public class BottomNavigationElement extends Canvas {
-
-		/**
-		 * Constructor for BottomNavigationElement.
-		 * 
-		 * @param parent
-		 *            the parent Composite.
-		 */
-		public BottomNavigationElement(Composite parent) {
-			super(parent, SWT.NO_FOCUS);
-			addPaintListener(new PaintListener() {
-
-				public void paintControl(PaintEvent e) {
-					paint(e);
-				}
-			});
-			addMouseListener(new MouseAdapter() {
-
-				public void mouseUp(MouseEvent e) {
-					if (isDownScrollRequired()) {
-						topVisibleIndex++;
-						if (bottomVisibleIndex != elements.length - 1) {
-							bottomVisibleIndex++;
-						}
-						layoutTabs();
-						topNavigationElement.redraw();
-						bottomNavigationElement.redraw();
-					}
-				}
-			});
-		}
-
-		/**
-		 * Paint the element.
-		 * 
-		 * @param e
-		 *            the paint event.
-		 */
-		private void paint(PaintEvent e) {
-			e.gc.setBackground(widgetBackground);
-			e.gc.setForeground(widgetForeground);
-			Rectangle bounds = getBounds();
-
-			if (elements.length != 0) {
-				e.gc.fillRectangle(0, 0, bounds.width, bounds.height);
-				e.gc.setForeground(widgetNormalShadow);
-				e.gc.drawLine(bounds.width - 1, 0, bounds.width - 1,
-						bounds.height - 1);
-				e.gc.drawLine(0, 0, bounds.width - 1, 0);
-
-				e.gc.setForeground(bottomNavigationElementShadowStroke1);
-				e.gc.drawLine(0, 1, bounds.width - 2, 1);
-				e.gc.setForeground(bottomNavigationElementShadowStroke2);
-				e.gc.drawLine(0, 2, bounds.width - 2, 2);
-			} else {
-				e.gc.setBackground(listBackground);
-				e.gc.fillRectangle(0, 0, bounds.width, bounds.height);
-			}
-
-			if (isDownScrollRequired()) {
-				e.gc.setForeground(widgetDarkShadow);
-				int middle = bounds.width / 2;
-				int bottom = bounds.height - 3;
-				e.gc.drawLine(middle + 1, bottom, middle + 5, bottom - 4);
-				e.gc.drawLine(middle, bottom, middle - 4, bottom - 4);
-				e.gc.drawLine(middle - 3, bottom - 4, middle + 4, bottom - 4);
-
-				e.gc.setForeground(listBackground);
-				e.gc.drawLine(middle, bottom - 1, middle + 1, bottom - 1);
-				e.gc.drawLine(middle - 1, bottom - 2, middle + 2, bottom - 2);
-				e.gc.drawLine(middle - 2, bottom - 3, middle + 3, bottom - 3);
-
-				e.gc.setForeground(widgetNormalShadow);
-				e.gc.drawLine(0, bottom - 7, bounds.width - 2, bottom - 7);
-				e.gc.setForeground(navigationElementShadowStroke);
-				e.gc.drawLine(0, bottom + 2, bounds.width - 2, bottom + 2);
-				e.gc.drawLine(0, bottom - 6, bounds.width - 2, bottom - 6);
-			}
-		}
-	}
-
-	/**
-	 * Constructor for TabbedPropertyList.
-	 * 
-	 * @param parent
-	 *            the parent widget.
-	 * @param factory
-	 *            the widget factory.
-	 */
-	public TabbedPropertyList(Composite parent,
-			TabbedPropertySheetWidgetFactory factory) {
-		super(parent, SWT.NO_FOCUS);
-		this.factory = factory;
-		removeAll();
-		setLayout(new FormLayout());
-		initColours();
-		initAccessible();
-		topNavigationElement = new TopNavigationElement(this);
-		bottomNavigationElement = new BottomNavigationElement(this);
-
-		this.addFocusListener(new FocusListener() {
-
-			public void focusGained(FocusEvent e) {
-				int i = getSelectionIndex();
-				if (i >= 0) {
-					elements[i].redraw();
-				}
-			}
-
-			public void focusLost(FocusEvent e) {
-				int i = getSelectionIndex();
-				if (i >= 0) {
-					elements[i].redraw();
-				}
-			}
-		});
-		this.addControlListener(new ControlAdapter() {
-
-			public void controlResized(ControlEvent e) {
-				computeTopAndBottomTab();
-			}
-		});
-		this.addTraverseListener(new TraverseListener() {
-
-			public void keyTraversed(TraverseEvent e) {
-				if (e.detail == SWT.TRAVERSE_ARROW_PREVIOUS
-					|| e.detail == SWT.TRAVERSE_ARROW_NEXT) {
-					int nMax = elements.length - 1;
-					int nCurrent = getSelectionIndex();
-					if (e.detail == SWT.TRAVERSE_ARROW_PREVIOUS) {
-						nCurrent -= 1;
-						nCurrent = Math.max(0, nCurrent);
-					} else if (e.detail == SWT.TRAVERSE_ARROW_NEXT) {
-						nCurrent += 1;
-						nCurrent = Math.min(nCurrent, nMax);
-					}
-					select(nCurrent);
-					redraw();
-				} else {
-					e.doit = true;
-				}
-			}
-		});
-	}
-
-	/**
-	 * Calculate the number of tabs that will fit in the tab list composite.
-	 */
-	protected void computeTabsThatFitInComposite() {
-		tabsThatFitInComposite = Math
-			.round((getSize().y - 22) / getTabHeight());
-		if (tabsThatFitInComposite <= 0) {
-			tabsThatFitInComposite = 1;
-		}
-	}
-
-	/**
-	 * 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 < elements.length) {
-			return elements[index];
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the zero-relative index of the item which is currently selected
-	 * in the receiver, or -1 if no item is selected.
-	 * 
-	 * @return the index of the selected item
-	 */
-	public int getSelectionIndex() {
-		return selectedElementIndex;
-	}
-
-	/**
-	 * Removes all elements from this list.
-	 */
-	public void removeAll() {
-		if (elements != null) {
-			for (int i = 0; i < elements.length; i++) {
-				elements[i].dispose();
-			}
-		}
-		elements = ELEMENTS_EMPTY;
-		selectedElementIndex = NONE;
-		widestLabelIndex = NONE;
-		topVisibleIndex = NONE;
-		bottomVisibleIndex = NONE;
-	}
-
-	/**
-	 * Sets the new list elements.
-	 * 
-	 * @param children
-	 */
-	public void setElements(Object[] children) {
-		if (elements != ELEMENTS_EMPTY) {
-			removeAll();
-		}
-		elements = new ListElement[children.length];
-		if (children.length == 0) {
-			widestLabelIndex = NONE;
-		} else {
-			widestLabelIndex = 0;
-			for (int i = 0; i < children.length; i++) {
-				elements[i] = new ListElement(this, (ITabItem) children[i], i);
-				elements[i].setVisible(false);
-				elements[i].setLayoutData(null);
-
-				if (i != widestLabelIndex) {
-					String label = ((ITabItem) children[i]).getText();
-					int width = getTextDimension(label).x;
-					if (((ITabItem) children[i]).getImage() != null) {
-						width = width + 16 + 5;
-					}
-					if (((ITabItem) children[i]).isIndented()) {
-						width = width + INDENT;
-					}
-					if (width > getTextDimension(((ITabItem) children[widestLabelIndex])
-							.getText()).x) {
-						widestLabelIndex = i;
-					}
-				}
-			}
-		}
-
-		computeTopAndBottomTab();
-	}
-
-	/**
-	 * Selects one of the elements in the list.
-	 * 
-	 * @param index
-	 *            the index of the element to select.
-	 */
-	protected void select(int index) {
-		if (getSelectionIndex() == index) {
-			/*
-			 * this index is already selected.
-			 */
-			return;
-		}
-		if (index >= 0 && index < elements.length) {
-			int lastSelected = getSelectionIndex();
-			elements[index].setSelected(true);
-			selectedElementIndex = index;
-			if (lastSelected != NONE) {
-				elements[lastSelected].setSelected(false);
-				if (getSelectionIndex() != elements.length - 1) {
-					/*
-					 * redraw the next tab to fix the border by calling
-					 * setSelected()
-					 */
-					elements[getSelectionIndex() + 1].setSelected(false);
-				}
-			}
-			topNavigationElement.redraw();
-			bottomNavigationElement.redraw();
-
-			if (selectedElementIndex < topVisibleIndex
-				|| selectedElementIndex > bottomVisibleIndex) {
-				computeTopAndBottomTab();
-			}
-		}
-		notifyListeners(SWT.Selection, new Event());
-	}
-
-	/**
-	 * Deselects all the elements in the list.
-	 */
-	public void deselectAll() {
-		if (getSelectionIndex() != NONE) {
-			elements[getSelectionIndex()].setSelected(false);
-			selectedElementIndex = NONE;
-		}
-	}
-
-	private int getIndex(ListElement element) {
-		return element.index;
-	}
-
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		Point result = super.computeSize(hHint, wHint, changed);
-		if (widestLabelIndex == -1) {
-			String properties_not_available = TabbedPropertyMessages.TabbedPropertyList_properties_not_available;
-			result.x = getTextDimension(properties_not_available).x + INDENT;
-		} else {
-			ITabItem widestTab = elements[widestLabelIndex].getTabItem();
-			int width = getTextDimension(widestTab.getText()).x + INDENT;
-			/*
-			 * To anticipate for the icon placement we should always keep the
-			 * space available after the label. So when the active tab includes
-			 * an icon the width of the tab doesn't change.
-			 */
-			if (widestTab.getImage() != null) {
-				width = width + 16 + 4;
-			}
-			if (widestTab.isIndented()) {
-				width = width + 10;
-			}
-			/*
-			 * Add 10 pixels to the right of the longest string as a margin.
-			 */
-			result.x = width + 10;
-		}
-		return result;
-	}
-
-	/**
-	 * Get the dimensions of the provided string.
-	 * 
-	 * @param text
-	 *            the string.
-	 * @return the dimensions of the provided string.
-	 */
-	private Point getTextDimension(String text) {
-		Shell shell = new Shell();
-		GC gc = new GC(shell);
-		gc.setFont(JFaceResources.getFontRegistry().getBold(
-				JFaceResources.DEFAULT_FONT));
-		Point point = gc.textExtent(text);
-		point.x++;
-		gc.dispose();
-		shell.dispose();
-		return point;
-	}
-
-	/**
-	 * Initialize the colours used in the list.
-	 */
-	private void initColours() {
-		/*
-		 * Colour 3 COLOR_LIST_BACKGROUND
-		 */
-		listBackground = Display.getCurrent().getSystemColor(
-				SWT.COLOR_LIST_BACKGROUND);
-
-		/*
-		 * Colour 13 COLOR_WIDGET_BACKGROUND
-		 */
-		widgetBackground = Display.getCurrent().getSystemColor(
-				SWT.COLOR_WIDGET_BACKGROUND);
-
-		/*
-		 * Colour 15 COLOR_WIDGET_DARK_SHADOW
-		 */
-		widgetDarkShadow = Display.getCurrent().getSystemColor(
-				SWT.COLOR_WIDGET_DARK_SHADOW);
-
-		/*
-		 * Colour 16 COLOR_WIDGET_FOREGROUND
-		 */
-		widgetForeground = Display.getCurrent().getSystemColor(
-				SWT.COLOR_WIDGET_FOREGROUND);
-
-		/*
-		 * Colour 19 COLOR_WIDGET_NORMAL_SHADOW
-		 */
-		widgetNormalShadow = Display.getCurrent().getSystemColor(
-				SWT.COLOR_WIDGET_NORMAL_SHADOW);
-
-		RGB infoBackground = Display.getCurrent().getSystemColor(
-				SWT.COLOR_INFO_BACKGROUND).getRGB();
-		RGB white = Display.getCurrent().getSystemColor(SWT.COLOR_WHITE)
-				.getRGB();
-		RGB black = Display.getCurrent().getSystemColor(SWT.COLOR_BLACK)
-				.getRGB();
-
-		/*
-		 * gradient in the default tab: start colour WIDGET_NORMAL_SHADOW 100% +
-		 * white 20% + INFO_BACKGROUND 60% end colour WIDGET_NORMAL_SHADOW 100% +
-		 * INFO_BACKGROUND 40%
-		 */
-		defaultGradientStart = factory.getColors().createColor(
-				"TabbedPropertyList.defaultTabGradientStart", //$NON-NLS-1$
-				FormColors.blend(infoBackground, FormColors.blend(white,
-						widgetNormalShadow.getRGB(), 20), 60));
-		defaultGradientEnd = factory.getColors().createColor(
-				"TabbedPropertyList.defaultTabGradientEnd", //$NON-NLS-1$
-				FormColors.blend(infoBackground, widgetNormalShadow.getRGB(),
-						40));
-
-		navigationElementShadowStroke = factory.getColors().createColor(
-				"TabbedPropertyList.shadowStroke", //$NON-NLS-1$
-				FormColors.blend(white, widgetNormalShadow.getRGB(), 55));
-		bottomNavigationElementShadowStroke1 = factory.getColors().createColor(
-				"TabbedPropertyList.tabShadowStroke1", //$NON-NLS-1$
-				FormColors.blend(black, widgetBackground.getRGB(), 10));
-		bottomNavigationElementShadowStroke2 = factory.getColors().createColor(
-				"TabbedPropertyList.tabShadowStroke2", //$NON-NLS-1$
-				FormColors.blend(black, widgetBackground.getRGB(), 5));
-
-		/*
-		 * gradient in the hover tab: start colour WIDGET_BACKGROUND 100% +
-		 * white 20% end colour WIDGET_BACKGROUND 100% + WIDGET_NORMAL_SHADOW
-		 * 10%
-		 */
-		hoverGradientStart = factory.getColors().createColor(
-				"TabbedPropertyList.hoverBackgroundGradientStart", //$NON-NLS-1$
-				FormColors.blend(white, widgetBackground.getRGB(), 20));
-		hoverGradientEnd = factory.getColors().createColor(
-				"TabbedPropertyList.hoverBackgroundGradientEnd", //$NON-NLS-1$
-				FormColors.blend(widgetNormalShadow.getRGB(), widgetBackground
-						.getRGB(), 10));
-
-		indentedDefaultBackground = factory.getColors().createColor(
-				"TabbedPropertyList.indentedDefaultBackground", //$NON-NLS-1$
-				FormColors.blend(white, widgetBackground.getRGB(), 10));
-		indentedHoverBackground = factory.getColors().createColor(
-				"TabbedPropertyList.indentedHoverBackground", //$NON-NLS-1$
-				FormColors.blend(white, widgetBackground.getRGB(), 75));
-	}
-
-	public void dispose() {
-		hoverGradientStart.dispose();
-		hoverGradientEnd.dispose();
-		defaultGradientStart.dispose();
-		defaultGradientEnd.dispose();
-		indentedDefaultBackground.dispose();
-		indentedHoverBackground.dispose();
-		navigationElementShadowStroke.dispose();
-		bottomNavigationElementShadowStroke1.dispose();
-		bottomNavigationElementShadowStroke2.dispose();
-		super.dispose();
-	}
-
-	/**
-	 * Get the height of a tab. The height of the tab is the height of the text
-	 * plus buffer.
-	 * 
-	 * @return the height of a tab.
-	 */
-	private int getTabHeight() {
-		int tabHeight = getTextDimension("").y + INDENT; //$NON-NLS-1$ 
-		if (tabsThatFitInComposite == 1) {
-			/*
-			 * if only one tab will fix, reduce the size of the tab height so
-			 * that the navigation elements fit.
-			 */
-			int ret = getBounds().height - 20;
-			return (ret > tabHeight) ? tabHeight
-				: (ret < 5) ? 5
-					: ret;
-		}
-		return tabHeight;
-	}
-
-	/**
-	 * Determine if a downward scrolling is required.
-	 * 
-	 * @return true if downward scrolling is required.
-	 */
-	private boolean isDownScrollRequired() {
-		return elements.length > tabsThatFitInComposite
-			&& bottomVisibleIndex != elements.length - 1;
-	}
-
-	/**
-	 * Determine if an upward scrolling is required.
-	 * 
-	 * @return true if upward scrolling is required.
-	 */
-	private boolean isUpScrollRequired() {
-		return elements.length > tabsThatFitInComposite && topVisibleIndex != 0;
-	}
-
-	/**
-	 * Based on available space, figure out the top and bottom tabs in the list.
-	 */
-	private void computeTopAndBottomTab() {
-		computeTabsThatFitInComposite();
-		if (elements.length == 0) {
-			/*
-			 * no tabs to display.
-			 */
-			topVisibleIndex = 0;
-			bottomVisibleIndex = 0;
-		} else if (tabsThatFitInComposite >= elements.length) {
-			/*
-			 * all the tabs fit.
-			 */
-			topVisibleIndex = 0;
-			bottomVisibleIndex = elements.length - 1;
-		} else if (getSelectionIndex() == NONE) {
-			/*
-			 * there is no selected tab yet, assume that tab one would
-			 * be selected for now.
-			 */
-			topVisibleIndex = 0;
-			bottomVisibleIndex = tabsThatFitInComposite - 1;
-		} else if (getSelectionIndex() + tabsThatFitInComposite > elements.length) {
-			/*
-			 * the selected tab is near the bottom.
-			 */
-			bottomVisibleIndex = elements.length - 1;
-			topVisibleIndex = bottomVisibleIndex - tabsThatFitInComposite + 1;
-		} else {
-			/*
-			 * the selected tab is near the top.
-			 */
-			topVisibleIndex = selectedElementIndex;
-			bottomVisibleIndex = selectedElementIndex + tabsThatFitInComposite
-				- 1;
-		}
-		layoutTabs();
-	}
-
-	/**
-	 * Layout the tabs.
-	 * 
-	 * @param up
-	 *            if <code>true</code>, then we are laying out as a result of
-	 *            an scroll up request.
-	 */
-	private void layoutTabs() {
-		//System.out.println("TabFit " + tabsThatFitInComposite + " length "
-		//	+ elements.length + " top " + topVisibleIndex + " bottom "
-		//	+ bottomVisibleIndex);
-		if (tabsThatFitInComposite == NONE || elements.length == 0) {
-			FormData formData = new FormData();
-			formData.left = new FormAttachment(0, 0);
-			formData.right = new FormAttachment(100, 0);
-			formData.top = new FormAttachment(0, 0);
-			formData.height = getTabHeight();
-			topNavigationElement.setLayoutData(formData);
-
-			formData = new FormData();
-			formData.left = new FormAttachment(0, 0);
-			formData.right = new FormAttachment(100, 0);
-			formData.top = new FormAttachment(topNavigationElement, 0);
-			formData.bottom = new FormAttachment(100, 0);
-			bottomNavigationElement.setLayoutData(formData);
-		} else {
-
-			FormData formData = new FormData();
-			formData.left = new FormAttachment(0, 0);
-			formData.right = new FormAttachment(100, 0);
-			formData.top = new FormAttachment(0, 0);
-			formData.height = 10;
-			topNavigationElement.setLayoutData(formData);
-
-			/*
-			 * use nextElement to attach the layout to the previous canvas
-			 * widget in the list.
-			 */
-			Canvas nextElement = topNavigationElement;
-
-			for (int i = 0; i < elements.length; i++) {
-				//System.out.print(i + " [" + elements[i].getText() + "]");
-				if (i < topVisibleIndex || i > bottomVisibleIndex) {
-					/*
-					 * this tab is not visible
-					 */
-					elements[i].setLayoutData(null);
-					elements[i].setVisible(false);
-				} else {
-					/*
-					 * this tab is visible.
-					 */
-					//System.out.print(" visible");
-					formData = new FormData();
-					formData.height = getTabHeight();
-					formData.left = new FormAttachment(0, 0);
-					formData.right = new FormAttachment(100, 0);
-					formData.top = new FormAttachment(nextElement, 0);
-					nextElement = elements[i];
-					elements[i].setLayoutData(formData);
-					elements[i].setVisible(true);
-				}
-
-				//if (i == selectedElementIndex) {
-				//	System.out.print(" selected");
-				//}
-				//System.out.println("");
-			}
-			formData = new FormData();
-			formData.left = new FormAttachment(0, 0);
-			formData.right = new FormAttachment(100, 0);
-			formData.top = new FormAttachment(nextElement, 0);
-			formData.bottom = new FormAttachment(100, 0);
-			formData.height = 10;
-			bottomNavigationElement.setLayoutData(formData);
-		}
-		//System.out.println("");
-
-		// layout so that we have enough space for the new labels
-		Composite grandparent = getParent().getParent();
-		grandparent.layout(true);
-		layout(true);
-	}
-
-	/**
-	 * Initialize the accessibility adapter.
-	 */
-	private void initAccessible() {
-		final Accessible accessible = getAccessible();
-		accessible.addAccessibleListener(new AccessibleAdapter() {
-
-			public void getName(AccessibleEvent e) {
-				if (getSelectionIndex() != NONE) {
-					e.result = elements[getSelectionIndex()].getTabItem()
-							.getText();
-				}
-			}
-
-			public void getHelp(AccessibleEvent e) {
-				if (getSelectionIndex() != NONE) {
-					e.result = elements[getSelectionIndex()].getTabItem()
-							.getText();
-				}
-			}
-		});
-
-		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) {
-				if (getSelectionIndex() != NONE) {
-					Rectangle location = elements[getSelectionIndex()]
-						.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_TABITEM;
-			}
-
-			public void getState(AccessibleControlEvent e) {
-				e.detail = ACC.STATE_NORMAL | ACC.STATE_SELECTABLE
-					| ACC.STATE_SELECTED | ACC.STATE_FOCUSED
-					| ACC.STATE_FOCUSABLE;
-			}
-		});
-
-		addListener(SWT.Selection, new Listener() {
-
-			public void handleEvent(Event event) {
-				if (isFocusControl()) {
-					accessible.setFocus(ACC.CHILDID_SELF);
-				}
-			}
-		});
-
-		addListener(SWT.FocusIn, new Listener() {
-
-			public void handleEvent(Event event) {
-				accessible.setFocus(ACC.CHILDID_SELF);
-			}
-		});
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyRegistry.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyRegistry.java
deleted file mode 100755
index 3f343f9..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyRegistry.java
+++ /dev/null
@@ -1,466 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.properties.tabbed.view;
-
-import com.ibm.icu.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.internal.views.properties.tabbed.TabbedPropertyViewPlugin;
-import org.eclipse.ui.internal.views.properties.tabbed.TabbedPropertyViewStatusCodes;
-import org.eclipse.ui.internal.views.properties.tabbed.l10n.TabbedPropertyMessages;
-import org.eclipse.ui.views.properties.tabbed.IActionProvider;
-import org.eclipse.ui.views.properties.tabbed.ISectionDescriptor;
-import org.eclipse.ui.views.properties.tabbed.ISectionDescriptorProvider;
-import org.eclipse.ui.views.properties.tabbed.ITypeMapper;
-
-/**
- * Provides information about the tabbed property extension points. Each tabbed
- * property registry is associated with a unique contributor ID.
- * 
- * @author Anthony Hunter
- */
-public class TabbedPropertyRegistry {
-
-	private final static String NO_TAB_ERROR = TabbedPropertyMessages.TabbedPropertyRegistry_Non_existing_tab;
-
-	private final static String CONTRIBUTOR_ERROR = TabbedPropertyMessages.TabbedPropertyRegistry_contributor_error;
-
-	// extension point constants
-	private static final String EXTPT_CONTRIBUTOR = "propertyContributor"; //$NON-NLS-1$
-
-	private static final String EXTPT_TABS = "propertyTabs"; //$NON-NLS-1$
-
-	private static final String EXTPT_SECTIONS = "propertySections"; //$NON-NLS-1$
-
-	private static final String ELEMENT_TAB = "propertyTab"; //$NON-NLS-1$
-
-	private static final String ELEMENT_SECTION = "propertySection"; //$NON-NLS-1$
-
-	private static final String ELEMENT_PROPERTY_CATEGORY = "propertyCategory"; //$NON-NLS-1$
-
-	private static final String ATT_CATEGORY = "category"; //$NON-NLS-1$
-
-	private static final String ATT_CONTRIBUTOR_ID = "contributorId"; //$NON-NLS-1$
-
-	private static final String ATT_TYPE_MAPPER = "typeMapper"; //$NON-NLS-1$	
-
-	private static final String ATT_LABEL_PROVIDER = "labelProvider"; //$NON-NLS-1$
-
-    private static final String ATT_ACTION_PROVIDER = "actionProvider"; //$NON-NLS-1$
-
-	private static final String TOP = "top"; //$NON-NLS-1$
-
-	protected String contributorId;
-
-	protected IConfigurationElement contributorConfigurationElement;
-
-	protected List propertyCategories;
-
-	protected ILabelProvider labelProvider;
-
-    protected IActionProvider actionProvider;
-
-	protected ITypeMapper typeMapper;
-
-	protected ISectionDescriptorProvider sectionDescriptorProvider;
-
-	protected TabDescriptor[] tabDescriptors;
-
-	protected static final TabDescriptor[] EMPTY_DESCRIPTOR_ARRAY = new TabDescriptor[0];
-
-	/**
-	 * There is one details registry for each contributor type.
-	 */
-	protected TabbedPropertyRegistry(String id) {
-		this.contributorId = id;
-        this.propertyCategories = new ArrayList();
-		IConfigurationElement[] extensions = getConfigurationElements(EXTPT_CONTRIBUTOR);
-		for (int i = 0; i < extensions.length; i++) {
-			IConfigurationElement configurationElement = extensions[i];
-			String contributor = configurationElement
-				.getAttribute(ATT_CONTRIBUTOR_ID);
-			if (contributor == null || !id.equals(contributor)) {
-				continue;
-			}
-			this.contributorConfigurationElement = configurationElement;
-			try {
-				if (configurationElement.getAttribute(ATT_LABEL_PROVIDER) != null) {
-					labelProvider = (ILabelProvider) configurationElement
-						.createExecutableExtension(ATT_LABEL_PROVIDER);
-				}
-                if (configurationElement.getAttribute(ATT_ACTION_PROVIDER) != null) {
-                    actionProvider = (IActionProvider) configurationElement
-                        .createExecutableExtension(ATT_ACTION_PROVIDER);
-                }
-				if (configurationElement.getAttribute(ATT_TYPE_MAPPER) != null) {
-					typeMapper = (ITypeMapper) configurationElement
-						.createExecutableExtension(ATT_TYPE_MAPPER);
-				}
-			} catch (CoreException exception) {
-				handleConfigurationError(id, exception);
-			}
-			addPropertyCategories(configurationElement);
-		}
-		if (propertyCategories == null || contributorId == null
-			|| contributorConfigurationElement == null) {
-			handleConfigurationError(id, null);
-			this.contributorId = null;
-		}
-	}
-
-	/**
-	 * Gets the categories that are valid for this contributor.
-	 * 
-	 * @param configurationElement
-	 *            the configuration element for this contributor.
-	 * @return the the categories that are valid for this contributor.
-	 */
-	private void addPropertyCategories(
-			IConfigurationElement configurationElement) {
-		IConfigurationElement[] elements = configurationElement
-			.getChildren(ELEMENT_PROPERTY_CATEGORY);
-		for (int i = 0; i < elements.length; i++) {
-			IConfigurationElement element = elements[i];
-			propertyCategories.add(element.getAttribute(ATT_CATEGORY));
-		}
-	}
-
-	/**
-	 * Handle the error when an issue is found loading from the configuration
-	 * element.
-	 * 
-	 * @param configurationElement
-	 *            the configuration element
-	 * @param exception
-	 *            an optional CoreException
-	 */
-	private void handleConfigurationError(String id, CoreException exception) {
-		String message = MessageFormat.format(CONTRIBUTOR_ERROR,
-			new Object[] {id});
-		IStatus status = new Status(IStatus.ERROR, TabbedPropertyViewPlugin
-			.getPlugin().getBundle().getSymbolicName(),
-			TabbedPropertyViewStatusCodes.CONTRIBUTOR_ERROR, message, exception);
-		TabbedPropertyViewPlugin.getPlugin().getLog().log(status);
-	}
-
-	/**
-	 * Reads property section extensions. Returns all section descriptors for
-	 * the current contributor id or an empty array if none is found.
-	 */
-	protected ISectionDescriptor[] readSectionDescriptors() {
-		List result = new ArrayList();
-		IConfigurationElement[] extensions = getConfigurationElements(EXTPT_SECTIONS);
-		for (int i = 0; i < extensions.length; i++) {
-			IConfigurationElement extension = extensions[i];
-			IConfigurationElement[] sections = extension
-				.getChildren(ELEMENT_SECTION);
-			for (int j = 0; j < sections.length; j++) {
-				IConfigurationElement section = sections[j];
-				ISectionDescriptor descriptor = new SectionDescriptor(section,
-					typeMapper);
-				result.add(descriptor);
-			}
-		}
-		return (ISectionDescriptor[]) result
-			.toArray(new ISectionDescriptor[result.size()]);
-	}
-
-	/**
-	 * Returns the configuration elements targeted for the given extension point
-	 * and the current contributor id. The elements are also sorted by plugin
-	 * prerequisite order.
-	 */
-	protected IConfigurationElement[] getConfigurationElements(
-			String extensionPointId) {
-		if (contributorId == null) {
-			return new IConfigurationElement[0];
-		}
-		IExtensionPoint point = Platform.getExtensionRegistry()
-			.getExtensionPoint(
-				TabbedPropertyViewPlugin.getPlugin().getBundle()
-					.getSymbolicName(), extensionPointId);
-		IConfigurationElement[] extensions = point.getConfigurationElements();
-		List unordered = new ArrayList(extensions.length);
-		for (int i = 0; i < extensions.length; i++) {
-			IConfigurationElement extension = extensions[i];
-			if (!extension.getName().equals(extensionPointId)) {
-				continue;
-			}
-			String contributor = extension.getAttribute(ATT_CONTRIBUTOR_ID);
-			if (!contributorId.equals(contributor)) {
-				continue;
-			}
-			unordered.add(extension);
-		}
-		return (IConfigurationElement[]) unordered
-			.toArray(new IConfigurationElement[unordered.size()]);
-	}
-
-	/**
-	 * Returns the index of the given element in the array.
-	 */
-	private int getIndex(Object[] array, Object target) {
-		for (int i = 0; i < array.length; i++) {
-			if (array[i].equals(target)) {
-				return i;
-			}
-		}
-		return -1; // should never happen
-	}
-
-	/**
-	 * Returns property tab descriptors for the given contributor id and object
-	 * input. The descriptors are sorted using the afterPage attribute.
-	 */
-	public TabDescriptor[] getTabDescriptors(IWorkbenchPart part,
-			ISelection selection) {
-		if (selection == null || selection.isEmpty()) {
-			return EMPTY_DESCRIPTOR_ARRAY;
-		}
-
-		TabDescriptor[] allDescriptors = getAllTabDescriptors();
-		TabDescriptor[] result = filterTabDescriptors(allDescriptors, part,
-			selection);
-		return result;
-	}
-
-	/**
-	 * Filters out the tab descriptors that do not have any sections for the
-	 * given input.
-	 */
-	protected TabDescriptor[] filterTabDescriptors(TabDescriptor[] descriptors,
-			IWorkbenchPart part, ISelection selection) {
-		List result = new ArrayList();
-		for (int i = 0; i < descriptors.length; i++) {
-			TabDescriptor descriptor = adaptDescriptorFor(descriptors[i], part,
-				selection);
-			if (!descriptor.getSectionDescriptors().isEmpty()) {
-				result.add(descriptor);
-			}
-		}
-		if (result.size() == 0) {
-			return EMPTY_DESCRIPTOR_ARRAY;
-		}
-		return (TabDescriptor[]) result
-			.toArray(new TabDescriptor[result.size()]);
-	}
-
-	/**
-	 * Given a property tab descriptor remove all its section descriptors that
-	 * do not apply to the given input object.
-	 */
-	protected TabDescriptor adaptDescriptorFor(TabDescriptor target,
-			IWorkbenchPart part, ISelection selection) {
-		List filteredSectionDescriptors = new ArrayList();
-		List descriptors = target.getSectionDescriptors();
-		for (Iterator iter = descriptors.iterator(); iter.hasNext();) {
-			ISectionDescriptor descriptor = (ISectionDescriptor) iter.next();
-			if (descriptor.appliesTo(part, selection)) {
-				filteredSectionDescriptors.add(descriptor);
-			}
-		}
-		TabDescriptor result = (TabDescriptor) target.clone();
-		result.setSectionDescriptors(filteredSectionDescriptors);
-		return result;
-	}
-
-	/**
-	 * Reads property tab extensions. Returns all tab descriptors for the
-	 * current contributor id or an empty array if none is found.
-	 */
-	protected TabDescriptor[] getAllTabDescriptors() {
-		if (tabDescriptors == null) {
-			List temp = readTabDescriptors();
-			populateWithSectionDescriptors(temp);
-			temp = sortTabDescriptorsByCategory(temp);
-			temp = sortTabDescriptorsByAfterTab(temp);
-			tabDescriptors = (TabDescriptor[]) temp
-				.toArray(new TabDescriptor[temp.size()]);
-		}
-		return tabDescriptors;
-	}
-
-	/**
-	 * Reads property tab extensions. Returns all tab descriptors for the
-	 * current contributor id or an empty list if none is found.
-	 */
-	protected List readTabDescriptors() {
-		List result = new ArrayList();
-		IConfigurationElement[] extensions = getConfigurationElements(EXTPT_TABS);
-		for (int i = 0; i < extensions.length; i++) {
-			IConfigurationElement extension = extensions[i];
-			IConfigurationElement[] tabs = extension.getChildren(ELEMENT_TAB);
-			for (int j = 0; j < tabs.length; j++) {
-				IConfigurationElement tab = tabs[j];
-				TabDescriptor descriptor = new TabDescriptor(tab);
-				result.add(descriptor);
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Populates the given tab descriptors with section descriptors.
-	 */
-	protected void populateWithSectionDescriptors(List aTabDescriptors) {
-		ISectionDescriptor[] sections = null;
-		if (sectionDescriptorProvider != null) {
-			sections = sectionDescriptorProvider.getSectionDescriptors();
-		} else {
-			sections = readSectionDescriptors();
-		}
-		for (int i = 0; i < sections.length; i++) {
-			ISectionDescriptor section = sections[i];
-			appendToTabDescriptor(section, aTabDescriptors);
-		}
-	}
-
-	/**
-	 * Appends the given section to a tab from the list.
-	 */
-	protected void appendToTabDescriptor(ISectionDescriptor section,
-			List aTabDescriptors) {
-		for (Iterator i = aTabDescriptors.iterator(); i.hasNext();) {
-			TabDescriptor tab = (TabDescriptor) i.next();
-			if (tab.append(section)) {
-				return;
-			}
-		}
-		// could not append the section to any of the existing tabs - log error
-		String message = MessageFormat.format(NO_TAB_ERROR, new Object[] {
-			section.getId(), section.getTargetTab()});
-		IStatus status = new Status(IStatus.ERROR, TabbedPropertyViewPlugin
-			.getPlugin().getBundle().getSymbolicName(),
-			TabbedPropertyViewStatusCodes.NO_TAB_ERROR, message, null);
-		TabbedPropertyViewPlugin.getPlugin().getLog().log(status);
-	}
-
-	/**
-	 * Sorts the tab descriptors in the given list according to category.
-	 */
-	protected List sortTabDescriptorsByCategory(List descriptors) {
-		Collections.sort(descriptors, new Comparator() {
-
-			public int compare(Object arg0, Object arg1) {
-				TabDescriptor one = (TabDescriptor) arg0;
-				TabDescriptor two = (TabDescriptor) arg1;
-				String categoryOne = one.getCategory();
-				String categoryTwo = two.getCategory();
-				int categoryOnePosition = getIndex(propertyCategories.toArray(),
-					categoryOne);
-				int categoryTwoPosition = getIndex(propertyCategories.toArray(),
-					categoryTwo);
-				return categoryOnePosition - categoryTwoPosition;
-			}
-		});
-		return descriptors;
-	}
-
-	/**
-	 * Sorts the tab descriptors in the given list according to afterTab.
-	 */
-	protected List sortTabDescriptorsByAfterTab(List tabs) {
-		if (tabs.size() == 0 || propertyCategories == null) {
-			return tabs;
-		}
-		List sorted = new ArrayList();
-		int categoryIndex = 0;
-		for (int i = 0; i < propertyCategories.size(); i++) {
-			List categoryList = new ArrayList();
-			String category = (String)propertyCategories.get(i);
-			int topOfCategory = categoryIndex;
-			int endOfCategory = categoryIndex;
-			while (endOfCategory < tabs.size()
-				&& ((TabDescriptor) tabs.get(endOfCategory)).getCategory()
-					.equals(category)) {
-				endOfCategory++;
-			}
-			for (int j = topOfCategory; j < endOfCategory; j++) {
-				TabDescriptor tab = (TabDescriptor) tabs.get(j);
-				if (tab.getAfterTab().equals(TOP)) {
-					categoryList.add(0, tabs.get(j));
-				} else {
-					categoryList.add(tabs.get(j));
-				}
-			}
-			Collections.sort(categoryList, new Comparator() {
-
-				public int compare(Object arg0, Object arg1) {
-					TabDescriptor one = (TabDescriptor) arg0;
-					TabDescriptor two = (TabDescriptor) arg1;
-					if (two.getAfterTab().equals(one.getId())) {
-						return -1;
-					} else if (one.getAfterTab().equals(two.getId())) {
-						return 1;
-					} else {
-						return 0;
-					}
-				}
-			});
-			for (int j = 0; j < categoryList.size(); j++) {
-				sorted.add(categoryList.get(j));
-			}
-			categoryIndex = endOfCategory;
-		}
-		return sorted;
-	}
-
-	/**
-	 * Gets the type mapper for the contributor.
-	 * 
-	 * @return the type mapper for the contributor.
-	 */
-	public ITypeMapper getTypeMapper() {
-		return typeMapper;
-	}
-
-	/**
-	 * Gets the label provider for the contributor.
-	 * 
-	 * @return the label provider for the contributor.
-	 */
-	public ILabelProvider getLabelProvider() {
-		return labelProvider;
-	}
-
-    /**
-     * Gets the action provider for the contributor.
-     * 
-     * @return the action provider for the contributor.
-     */
-    public IActionProvider getActionProvider() {
-        return actionProvider;
-    }
-
-	/**
-	 * Sets the section descriptor provider for the contributor.
-	 * 
-	 * @param sectionDescriptorProvider
-	 *            the section descriptor provider for the contributor.
-	 */
-	public void setSectionDescriptorProvider(
-			ISectionDescriptorProvider sectionDescriptorProvider) {
-		this.sectionDescriptorProvider = sectionDescriptorProvider;
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyRegistryClassSectionFilter.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyRegistryClassSectionFilter.java
deleted file mode 100755
index 50c078b..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyRegistryClassSectionFilter.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.properties.tabbed.view;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.jface.viewers.IFilter;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.views.properties.tabbed.ISectionDescriptor;
-import org.eclipse.ui.views.properties.tabbed.ITypeMapper;
-
-/**
- * Provides a section filtering mechanism where the selection is an
- * IStructuredSelection and filtering is based on class.
- * 
- * @author Anthony Hunter
- */
-public class TabbedPropertyRegistryClassSectionFilter {
-
-	private ITypeMapper typeMapper = null;
-
-	/**
-	 * constructor.
-	 */
-	protected TabbedPropertyRegistryClassSectionFilter(ITypeMapper typeMapper) {
-		super();
-		this.typeMapper = typeMapper;
-	}
-
-	/**
-	 * Verifies if the property section extension represented by sectionElement
-	 * applies to the given input.
-	 */
-	protected boolean appliesToSelection(ISectionDescriptor descriptor,
-			ISelection selection) {
-
-		if (selection instanceof IStructuredSelection
-			&& selection.isEmpty() == false) {
-
-			if (descriptor.getEnablesFor() != ISectionDescriptor.ENABLES_FOR_ANY
-				&& ((IStructuredSelection) selection).size() != descriptor
-					.getEnablesFor()) {
-				/**
-				 * enablesFor does not match the size of the selection, do not
-				 * display section.
-				 */
-				return false;
-			}
-
-            IFilter filter = descriptor.getFilter();
-            
-            if (filter != null) {
-                for (Iterator i = ((IStructuredSelection) selection).iterator(); i
-                .hasNext();) {
-                    Object object = i.next();
-
-                    if (filter != null && filter.select(object) == false) {
-                        /**
-                         * filter fails so section does not apply to the selection,
-                         * do not display section.
-                         */
-                        return false;
-                    }
-                }
-                /**
-                 * filter passes for all objects in the selection.
-                 */
-                return true;
-            }
-
-			Set effectiveTypes = new HashSet();
-
-			for (Iterator i = ((IStructuredSelection) selection).iterator(); i
-				.hasNext();) {
-
-				Object object = i.next();
-
-				Class remapType = object.getClass();
-				if (typeMapper != null) {
-					remapType = typeMapper.mapType(object);
-				}
-
-				if (effectiveTypes.add(remapType)) {
-
-					// the effective types of the selection
-					if (appliesToEffectiveType(descriptor, remapType) == false) {
-						return false;
-					}
-				}
-			}
-		}
-
-		return true;
-	}
-
-	private boolean appliesToEffectiveType(ISectionDescriptor descriptor,
-			Class inputClass) {
-
-		ArrayList classTypes = getClassTypes(inputClass);
-
-		List sectionInputTypes = descriptor.getInputTypes();
-		for (Iterator j = sectionInputTypes.iterator(); j.hasNext();) {
-			String type = (String) j.next();
-			if (classTypes.contains(type)) {
-				// found a match
-				return true;
-			}
-		}
-
-		return false;
-	}
-
-	/**
-	 * Returns the classes and interfaces the given target class
-	 * extends/implements.
-	 */
-	protected ArrayList getClassTypes(Class target) {
-		ArrayList result = new ArrayList();
-		// add classes
-		List classes = computeClassOrder(target);
-		for (Iterator i = classes.iterator(); i.hasNext();) {
-			result.add(((Class) i.next()).getName());
-		}
-		// add interfaces
-		result.addAll(computeInterfaceOrder(classes));
-		return result;
-	}
-
-	private List computeClassOrder(Class target) {
-		List result = new ArrayList(4);
-		Class clazz = target;
-		while (clazz != null) {
-			result.add(clazz);
-			clazz = clazz.getSuperclass();
-		}
-		return result;
-	}
-
-	private List computeInterfaceOrder(List classes) {
-		List result = new ArrayList(4);
-		Map seen = new HashMap(4);
-		for (Iterator iter = classes.iterator(); iter.hasNext();) {
-			Class[] interfaces = ((Class) iter.next()).getInterfaces();
-			internalComputeInterfaceOrder(interfaces, result, seen);
-		}
-		return result;
-	}
-
-	private void internalComputeInterfaceOrder(Class[] interfaces, List result,
-			Map seen) {
-		List newInterfaces = new ArrayList(seen.size());
-		for (int i = 0; i < interfaces.length; i++) {
-			Class interfac = interfaces[i];
-			if (seen.get(interfac) == null) {
-				result.add(interfac.getName());
-				seen.put(interfac, interfac);
-				newInterfaces.add(interfac);
-			}
-		}
-		for (Iterator iter = newInterfaces.iterator(); iter.hasNext();) {
-			internalComputeInterfaceOrder(
-				((Class) iter.next()).getInterfaces(), result, seen);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyRegistryFactory.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyRegistryFactory.java
deleted file mode 100755
index 84dc781..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyRegistryFactory.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.properties.tabbed.view;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
-
-
-/**
- * tabbed property registry factory. Caches the tabbed property registry
- * by tabbed property contributor ID. 
- * 
- * @author Anthony Hunter
- */
-public class TabbedPropertyRegistryFactory {
-
-	class CacheData {
-		TabbedPropertyRegistry registry;
-		List references;
-	}
-
-	/**
-	 * singleton instance of this class
-	 */
-	private static TabbedPropertyRegistryFactory INSTANCE =
-		new TabbedPropertyRegistryFactory();
-
-	/**
-	 * get the singleton instance of this class
-	 */
-	public static TabbedPropertyRegistryFactory getInstance() {
-		return INSTANCE;
-	}
-
-	/**
-	 * private constructor.
-	 */
-	private TabbedPropertyRegistryFactory() {
-		super();
-		idToCacheData = new HashMap();
-	}
-
-	protected Map idToCacheData; // cache
-
-	/** 
-	 * Creates a registry for the given contributor.
-	 */
-	public TabbedPropertyRegistry createRegistry(ITabbedPropertySheetPageContributor target) {
-		/**
-		 * Get the contributor id from the ITabbedPropertySheetPageContributor interface
-		 */
-		String key = target.getContributorId();
-		CacheData data = (CacheData) idToCacheData.get(key);
-		if (data == null) {
-			data = new CacheData();
-			data.registry =
-				new TabbedPropertyRegistry(key);
-			data.references = new ArrayList(5);
-			idToCacheData.put(key, data);
-		}
-		data.references.add(target);
-		// keeps track of contributor using the same registry
-		return data.registry;
-	}
-
-	/** 
-	 * Indicates that the given contributor no longer needs
-	 * a registry. The registry will be disposed when
-	 * no other contributor of the same type needs it.
-	 */
-	public void disposeRegistry(ITabbedPropertySheetPageContributor target) {
-		/**
-		 * Get the contributor id from the ITabbedPropertySheetPageContributor interface
-		 */
-		String key = target.getContributorId();
-		CacheData data = (CacheData) idToCacheData.get(key);
-		data.references.remove(target);
-		if (data.references.isEmpty()) {
-			idToCacheData.remove(key);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyTitle.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyTitle.java
deleted file mode 100755
index 669f067..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyTitle.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.properties.tabbed.view;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-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.widgets.Composite;
-import org.eclipse.ui.forms.IFormColors;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
-
-
-/**
- * The title in the tabbed property sheet page.
- * 
- * @author Anthony Hunter
- */
-public class TabbedPropertyTitle
-	extends Composite {
-
-	private CLabel label;
-
-	private Image image = null;
-
-	private String text = null;
-	
-	private static final String BLANK = ""; //$NON-NLS-1$
-
-	private static final String TITLE_FONT = "org.eclipse.ui.internal.views.properties.tabbed.view.TabbedPropertyTitle"; //$NON-NLS-1$
-	
-	private TabbedPropertySheetWidgetFactory factory;
-
-	/**
-	 * Constructor for TabbedPropertyTitle.
-	 * 
-	 * @param parent
-	 *            the parent composite.
-	 * @param factory
-	 *            the widget factory for the tabbed property sheet
-	 */
-	public TabbedPropertyTitle(Composite parent,
-			TabbedPropertySheetWidgetFactory factory) {
-		super(parent, SWT.NO_FOCUS);
-		this.factory = factory;
-
-		this.addPaintListener(new PaintListener() {
-
-			public void paintControl(PaintEvent e) {
-				if (image == null && (text == null || text.equals(BLANK))) {
-					label.setVisible(false);
-				} else {
-					label.setVisible(true);
-					drawTitleBackground(e);
-				}
-			}
-		});
-
-		factory.getColors().initializeSectionToolBarColors();
-		setBackground(factory.getColors().getBackground());
-		setForeground(factory.getColors().getForeground());
-
-		FormLayout layout = new FormLayout();
-		layout.marginWidth = 1;
-		layout.marginHeight = 2;
-		setLayout(layout);
-
-		Font font;
-		if (! JFaceResources.getFontRegistry().hasValueFor(TITLE_FONT)) {
-			FontData[] fontData = JFaceResources.getHeaderFont().getFontData();
-			fontData[0].setHeight(10);
-			JFaceResources.getFontRegistry().put(TITLE_FONT, fontData);
-		}
-		font = JFaceResources.getFont(TITLE_FONT);
-		
-		label = factory.createCLabel(this, BLANK);
-		label.setBackground(new Color[] {
-				factory.getColors().getColor(IFormColors.H_GRADIENT_END),
-				factory.getColors().getColor(IFormColors.H_GRADIENT_START) },
-				new int[] { 100 }, true);
-		label.setFont(font);
-		label.setForeground(factory.getColors().getColor(IFormColors.TITLE));
-		FormData data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.top = new FormAttachment(0, 0);
-		data.right = new FormAttachment(100, 0);
-		data.bottom = new FormAttachment(100, 0);
-		label.setLayoutData(data);
-
-		/*
-		 * setImage(PlatformUI.getWorkbench().getSharedImages().getImage(
-		 * ISharedImages.IMG_OBJ_ELEMENT));
-		 */
-	}
-
-	/**
-	 * @param e
-	 */
-	protected void drawTitleBackground(PaintEvent e) {
-		Rectangle bounds = getClientArea();
-		label.setBackground(new Color[] {
-				factory.getColors().getColor(IFormColors.H_GRADIENT_END),
-				factory.getColors().getColor(IFormColors.H_GRADIENT_START) },
-				new int[] { 100 }, true);
-		Color bg = factory.getColors().getColor(IFormColors.H_GRADIENT_END);
-		Color gbg = factory.getColors().getColor(IFormColors.H_GRADIENT_START);
-		GC gc = e.gc;
-		gc.setForeground(bg);
-		gc.setBackground(gbg);
-		gc.fillGradientRectangle(bounds.x, bounds.y, bounds.width,
-				bounds.height, true);
-		// background bottom separator
-		gc.setForeground(factory.getColors().getColor(
-				IFormColors.H_BOTTOM_KEYLINE1));
-		gc.drawLine(bounds.x, bounds.height - 2, bounds.x + bounds.width - 1,
-				bounds.height - 2);
-		gc.setForeground(factory.getColors().getColor(
-				IFormColors.H_BOTTOM_KEYLINE2));
-		gc.drawLine(bounds.x, bounds.height - 1, bounds.x + bounds.width - 1,
-				bounds.height - 1);
-	}
-
-	/**
-	 * Set the text label.
-	 * 
-	 * @param text
-	 *            the text label.
-	 * @param image
-	 *            the image for the label.
-	 */
-	public void setTitle(String text, Image image) {
-		this.text = text;
-		this.image = image;
-		if (text != null) {
-			label.setText(text);
-		} else {
-			label.setText(BLANK); 
-		}
-		label.setImage(image);
-		redraw();
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyViewer.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyViewer.java
deleted file mode 100755
index b0e3898..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyViewer.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.properties.tabbed.view;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Viewer representing the property sheet page. On the left side it 
- * contains a list of tabs and on the right side it contains the
- * current selected tab.
- * 
- * @author Anthony Hunter 
- */
-public class TabbedPropertyViewer extends StructuredViewer {
-
-	protected TabbedPropertyList list;
-	protected List elements;
-	protected IWorkbenchPart part;
-
-	/**
-	 * Constructor for TabbedPropertyViewer.
-	 * 
-	 * @param list
-	 *            the TabbedPropertyList.
-	 */
-	public TabbedPropertyViewer(TabbedPropertyList list) {
-		this.list = list;
-		hookControl(list);
-		elements = new ArrayList();
-	}
-
-	/**
-	 * 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 < elements.size()) {
-			return elements.get(index);
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the zero-relative index of the item which is currently
-	 * selected in the receiver, or -1 if no item is selected.
-	 *
-	 * @return the index of the selected item
-	 */
-	public int getSelectionIndex() {
-		return list.getSelectionIndex();
-	}
-
-	protected Widget doFindInputItem(Object element) {
-		/* not implemented */
-		return null;
-	}
-
-	protected Widget doFindItem(Object element) {
-		/* not implemented */
-		return null;
-	}
-
-	protected void doUpdateItem(Widget item, Object element, boolean fullMap) {
-		/* not implemented */
-	}
-
-	protected List getSelectionFromWidget() {
-		int index = list.getSelectionIndex();
-		if (index == TabbedPropertyList.NONE) {
-			return Collections.EMPTY_LIST;
-		}
-		List result = new ArrayList(1);
-		result.add(getElementAt(index));
-		return result;
-	}
-
-	protected void internalRefresh(Object element) {
-		/* not implemented */
-	}
-
-	public void reveal(Object element) {
-		/* not implemented */
-	}
-
-	/**
-	 * We do not consider multiple selections. Only the first
-	 * element will represent the selection.
-	 */
-	protected void setSelectionToWidget(List l, boolean reveal) {
-		if (l == null || l.size() == 0) { // clear selection
-			list.deselectAll();
-		} else {
-			Object object = l.get(0);
-			int index = -1;
-			for (int i = 0; i < elements.size(); i++) {
-				if (elements.get(i) == object) {
-					index = i;
-				}
-			}
-			Assert.isTrue(index != -1, "Could not set the selected tab in the tabbed property viewer");//$NON-NLS-1$
-			list.select(index);
-		}
-	}
-
-	public Control getControl() {
-		return list;
-	}
-
-	protected void inputChanged(Object input, Object oldInput) {
-		elements.clear();
-		Object[] children = getSortedChildren(getRoot());
-		list.removeAll();
-		for (int i = 0; i < children.length; i++) {
-			elements.add(children[i]);
-			mapElement(children[i], list);
-		}
-		list.setElements(children);
-	}
-
-	/**
-	 * Set the input for viewer.
-	 * 
-	 * @param part
-	 *            the workbench part.
-	 * @param selection
-	 *            the selection in the workbench part.
-	 */
-	public void setInput(IWorkbenchPart part, ISelection selection) {
-		this.part = part;
-		setInput(selection);
-	}
-
-	/**
-	 * Get the current workbench part.
-	 * 
-	 * @return the current workbench part.
-	 */
-	public IWorkbenchPart getWorkbenchPart() {
-		return part;
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AbstractPropertySection.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AbstractPropertySection.java
deleted file mode 100644
index 73f1371..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AbstractPropertySection.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties.tabbed;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * An abstract implementation of a section in a tab in the tabbed property sheet
- * page.
- * 
- * @author Anthony Hunter
- */
-public abstract class AbstractPropertySection
-	implements ISection {
-
-	/**
-	 * The standard label width when labels for sections line up on the left
-	 * hand side of the composite.
-	 */
-	public static final int STANDARD_LABEL_WIDTH = 85;
-
-	/**
-	 * The tabbed property sheet page
-	 */
-	private TabbedPropertySheetPage tabbedPropertySheetPage;
-
-	/**
-	 * The current workbench selection.
-	 */
-	private ISelection selection;
-
-	/**
-	 * The current active workbench part.
-	 */
-	private IWorkbenchPart part;
-
-	/**
-	 * Get the widget factory for the property sheet page.
-	 * 
-	 * @return the widget factory.
-	 */
-	public TabbedPropertySheetWidgetFactory getWidgetFactory() {
-		return tabbedPropertySheetPage.getWidgetFactory();
-	}
-
-	/**
-	 * Get the current workbench selection.
-	 * 
-	 * @return the current workbench selection.
-	 */
-	public ISelection getSelection() {
-		return selection;
-	}
-
-	/**
-	 * @return Returns the part.
-	 */
-	public IWorkbenchPart getPart() {
-		return part;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage aTabbedPropertySheetPage) {
-		this.tabbedPropertySheetPage = aTabbedPropertySheetPage;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#setInput(org.eclipse.ui.IWorkbenchPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void setInput(IWorkbenchPart part, ISelection selection) {
-		this.selection = selection;
-		this.part = part;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#aboutToBeShown()
-	 */
-	public void aboutToBeShown() {
-		/* empty default implementation */
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#aboutToBeHidden()
-	 */
-	public void aboutToBeHidden() {
-		/* empty default implementation */
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#dispose()
-	 */
-	public void dispose() {
-		/* empty default implementation */
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#getMinimumHeight()
-	 */
-	public int getMinimumHeight() {
-		return SWT.DEFAULT;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#shouldUseExtraSpace()
-	 */
-	public boolean shouldUseExtraSpace() {
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#refresh()
-	 */
-	public void refresh() {
-		/* empty default implementation */
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AbstractTypeMapper.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AbstractTypeMapper.java
deleted file mode 100644
index a2503d8..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AbstractTypeMapper.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties.tabbed;
-
-/**
- * Default implementation of a type mapper.
- * 
- * @author Anthony Hunter
- */
-public class AbstractTypeMapper
-    implements ITypeMapper {
-
-    public Class mapType(Object object) {
-        return object.getClass();
-    }
-
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AdvancedPropertySection.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AdvancedPropertySection.java
deleted file mode 100644
index ea9a009..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/AdvancedPropertySection.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties.tabbed;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.PropertySheetPage;
-
-/**
- * An advanced section that is intended to show the original table format properties view
- * provided by base Eclipse.
- * 
- * @author Anthony Hunter 
- */
-public class AdvancedPropertySection
-	extends AbstractPropertySection {
-
-	/**
-	 * The Property Sheet Page.
-	 */
-	protected PropertySheetPage page;
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage tabbedPropertySheetPage) {
-		super.createControls(parent, tabbedPropertySheetPage);
-		Composite composite = getWidgetFactory()
-			.createFlatFormComposite(parent);
-		page = new PropertySheetPage();
-
-		page.createControl(composite);
-		FormData data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, 0);
-		data.bottom = new FormAttachment(100, 0);
-		page.getControl().setLayoutData(data);
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#setInput(org.eclipse.ui.IWorkbenchPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void setInput(IWorkbenchPart part, ISelection selection) {
-		super.setInput(part, selection);
-		page.selectionChanged(part, selection);
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-
-		if (page != null) {
-			page.dispose();
-			page = null;
-		}
-
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#refresh()
-	 */
-	public void refresh() {
-		page.refresh();
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#shouldUseExtraSpace()
-	 */
-	public boolean shouldUseExtraSpace() {
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/IActionProvider.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/IActionProvider.java
deleted file mode 100644
index f44d417..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/IActionProvider.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.ui.views.properties.tabbed;
-
-import org.eclipse.ui.IActionBars;
-
-/**
- * Allows a tabbed properties view to make contributions to action bars.
- * <p>
- * An action provider is called when the tabbed properties view becomes the
- * active view. It is at this point where the action provider can override the
- * action bars.
- * </p>
- * <p>
- * Normally {@link TabbedPropertySheetPage#setActionBars(IActionBars)} is
- * sufficient, but this is only called once and is not sufficient for a
- * contributor that is selection based. An example is the Project Explorer where
- * different providers contribute different action sets and properties
- * configurations.
- * </p>
- * <p>
- * The most frequent use of setActionBars() is to retarget the global actions
- * for undo and redo based on the active tabbed properties view contributor.
- * </p>
- * 
- * @author Anthony Hunter
- * @since 3.2.1
- */
-public interface IActionProvider {
-
-    /**
-     * Allows the page to make contributions to the given action bars. The
-     * contributions will be visible when the page is visible.
-     * 
-     * @param contributor
-     *            the tabbed property sheet page contributor.
-     * @param actionBars
-     *            the action bars for this page
-     */
-    public void setActionBars(ITabbedPropertySheetPageContributor contributor,
-            IActionBars actionBars);
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISection.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISection.java
deleted file mode 100644
index ddc6388..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISection.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties.tabbed;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Represents a section of properties for a given input.
- * <p>
- * The lifecycle of an ISection is as follows:
- * <ul>
- * <li><code>ISection.createControls()</code></li>
- * <li><code>ISection.setInput()</code></li>
- * <li><code>ISection.aboutToBeShown()</code></li>
- * <li><code>ISection.refresh()</code></li>
- * <li><code>ISection.aboutToBeHidden()</code></li>
- * <li><code>ISection.dispose()</code></li>
- * </ul>
- * </p>
- * <p>
- * Implementors of this class should be aware that a section instance might be
- * reused for different input objects (as long as they are valid section
- * inputs). It means that <code>ISection.setInput</code> can be called at any
- * time between <code>ISection.createControls</code> and
- * <code>ISection.dispose</code>.
- * </p>
- * <p>
- * When an input change event occurs, such as a tab selection or a workbench
- * selection change, an ISection is sent:
- * <ul>
- * <li><code>ISection.setInput()</code></li>
- * <li><code>ISection.refresh()</code></li>
- * </ul>
- * </p>
- * <p>
- * When an part activation event occurs, such as the contributor part activation
- * event, an ISection is sent:
- * <ul>
- * <li><code>ISection.setInput()</code></li>
- * <li><code>ISection.aboutToBeShown()</code></li>
- * <li><code>ISection.refresh()</code></li>
- * <li><code>ISection.setInput()</code></li>
- * <li><code>ISection.refresh()</code></li>
- * </ul>
- * This is because both a tab selection event and an input selection event have
- * occurred.
- * </p>
- * <p>
- * This interface should not be extended or implemented. New section instances
- * should be created using <code>AbstractPropertySection</code>.
- * </p>
- * @see org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage
- * 
- * @author Anthony Hunter
- */
-public interface ISection {
-
-	/**
-	 * Creates the controls for the section.
-	 * <p>
-	 * Clients should take advantage of the widget factory provided by the
-	 * framework to achieve a common look between property sections.
-	 * </p>
-	 * @see org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage#getWidgetFactory()
-	 * 
-	 * @param parent
-	 *            the parent composite for the section.
-	 * @param tabbedPropertySheetPage
-	 *            the tabbed property sheet page.
-	 */
-	public abstract void createControls(Composite parent,
-			TabbedPropertySheetPage tabbedPropertySheetPage);
-
-	/**
-	 * Notifies the section that the workbench selection has changed. 
-	 * @param part The active workench part.
-	 * @param selection The active selection in the workbench part.
-	 */
-	public abstract void setInput(IWorkbenchPart part, ISelection selection);
-
-	/**
-	 * Notifies the section that its controls are about to be shown. It is
-	 * expected that sections enable domain related functions in this method,
-	 * most commonly add listeners.
-	 * <p>
-	 * Since the controls are not visible, the section should wait for the
-	 * refresh() before updating the section controls.
-	 * </p>
-	 */
-	public abstract void aboutToBeShown();
-
-	/**
-	 * Notifies the section that its controls are about to be hidden. It is
-	 * expected that sections disable domain related functions in this method,
-	 * most commonly remove listeners.
-	 */
-	public abstract void aboutToBeHidden();
-
-	/**
-	 * Dispose this section.
-	 */
-	public abstract void dispose();
-
-	/**
-	 * Returns the minimum height needed by this section. A return value of
-	 * <code>SWT.DEFAULT</code> indicates that no minimum height is defined.
-	 * 
-	 * @return the minimum height needed by this section.
-	 */
-	public abstract int getMinimumHeight();
-
-	/**
-	 * Determine whether this section would like extra height space in case
-	 * there is some left. Normally this is true when the section is the last to
-	 * be displayed on a tab or is the only section on a tab.
-	 * @return <code>true</code> if this section would like extra height space.
-	 */
-	public abstract boolean shouldUseExtraSpace();
-
-	/**
-	 * Refresh the contents of the controls displayed in this section.
-	 */
-	public abstract void refresh();
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISectionDescriptor.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISectionDescriptor.java
deleted file mode 100644
index c2685df..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISectionDescriptor.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties.tabbed;
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.IFilter;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Represents a section descriptor on the tabbed property sections extensions.
- * 
- * @author Anthony Hunter 
- */
-public interface ISectionDescriptor {
-
-	/**
-	 * If enabledFor is not specified in the descriptor, enable for any selection.
-	 */
-	public final int ENABLES_FOR_ANY = -1;
-
-	/**
-	 * Get the unique identifier for the section.
-	 * 
-	 * @return the unique identifier for the section.
-	 */
-	public String getId();
-
-	/**
-	 * Get the section filter instance for this section. Return null if no
-	 * filter for this section.
-	 * 
-	 * @return the section filter instance.
-	 */
-	public IFilter getFilter();
-
-	/**
-	 * Get the valid input types for this section.
-	 * 
-	 * @return the valid input types for this section.
-	 */
-	public List getInputTypes();
-
-	/**
-	 * Get the class that implements this section.
-	 * 
-	 * @return the class that implements this section.
-	 */
-	public ISection getSectionClass();
-
-	/**
-	 * Get the target tab where this section will appear.
-	 * 
-	 * @return the target tab where this section will appear.
-	 */
-	public String getTargetTab();
-
-	/**
-	 * Get the value for section enablement which is a precise number of
-	 * items selected. For example: enablesFor="1" enables the section only when
-	 * one item is selected. If not specified, enable for any selection and return ENABLES_FOR_ANY.
-	 * 
-	 * @return the value for section enablement.
-	 */
-	public int getEnablesFor();
-		
-	/**
-	 * Determines if this section applies to the selection.
-	 * @param part the current workbench part.
-	 * @param selection the selection.
-	 * @return <code>true</code> if this section applies to the current
-	 *         selection.
-	 */
-	public boolean appliesTo(IWorkbenchPart part, ISelection selection);
-
-	/**
-	 * Get the section identifier below which this section is displayed. <code>"top"</code>
-	 * is returned if this section is the top most section or if there is one
-	 * section in the tab.
-	 * 
-	 * @return the section identifier.
-	 */
-	public String getAfterSection();
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISectionDescriptorProvider.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISectionDescriptorProvider.java
deleted file mode 100644
index e47aeb4..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ISectionDescriptorProvider.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties.tabbed;
-
-/**
- * Represents a section descriptor provider for tabbed property sections.
- * 
- * @author Anthony Hunter
- */
-public interface ISectionDescriptorProvider {
-
-	/**
-	 * Returns all section descriptors for the contributor.
-	 * @return all section descriptors.
-	 */
-	public ISectionDescriptor[] getSectionDescriptors();
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabItem.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabItem.java
deleted file mode 100644
index 9cd387c..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabItem.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties.tabbed;
-
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Represents a tab to be displayed in the tab list in the tabbed property sheet
- * page.
- * 
- * @author Anthony Hunter 
- */
-public interface ITabItem {
-
-	/**
-	 * Get the icon image for the tab.
-	 * 
-	 * @return the icon image for the tab.
-	 */
-	public Image getImage();
-
-	/**
-	 * Get the text label for the tab.
-	 * 
-	 * @return the text label for the tab.
-	 */
-	public String getText();
-
-	/**
-	 * Determine if this tab is selected.
-	 * 
-	 * @return <code>true</code> if this tab is selected.
-	 */
-	public boolean isSelected();
-
-	/**
-	 * Determine if this tab is indented.
-	 * 
-	 * @return <code>true</code> if this tab is indented.
-	 */
-	public boolean isIndented();
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabSelectionListener.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabSelectionListener.java
deleted file mode 100644
index 2b1e336..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabSelectionListener.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties.tabbed;
-
-import org.eclipse.ui.internal.views.properties.tabbed.view.TabDescriptor;
-
-/**
- * A listener interested in tab selection events that occur for the tabbed
- * property sheet page.
- * 
- * @author Anthony Hunter 
- */
-public interface ITabSelectionListener {
-
-	/**
-	 * Notifies this listener that the selected tab has changed.
-	 * 
-	 * @param tabDescriptor
-	 *            the selected tab descriptor.
-	 */
-	public void tabSelected(TabDescriptor tabDescriptor);
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabbedPropertyConstants.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabbedPropertyConstants.java
deleted file mode 100644
index 8b9395c..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabbedPropertyConstants.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties.tabbed;
-
-/**
- * Constants used by the implementors of ITabbedPropertySection.
- * 
- * @author Anthony Hunter 
- */
-public interface ITabbedPropertyConstants {
-
-	/**
-	 * These horizontal margin around the composite.
-	 * Each section should use a margin of 0, 0.
-	 */
-	public static final int HMARGIN = 6;
-	
-	/**
-	 * These horizontal margin around the composite.
-	 */
-	public static final int VMARGIN = 6;
-
-	/**
-	 * Horizontal space to leave between related widgets. 
-	 * Each section should use these values for spacing its widgets. 
-	 * For example, you can use +/- HSPACE as the offset of a left or 
-	 * right FlatFormAttachment.
-	 * 
-	 * The tabbed property composite also inserts VSPACE pixels between 
-	 * section composites if more than one section is displayed.  
-	 */
-	public static final int HSPACE = 5;
-	
-	/**
-	 * Horizontal space to leave between related widgets.
-	 */ 
-	public static final int VSPACE = 4;
-
-	/**
-	 * Space to leave between the center of the property tab and the closest
-	 * widget to the left or right. I.e. for a property tab whose widgets are
-	 * logically divided into two halves, the total space between the halves
-	 * should be 2*CENTER_SPACE.
-	 */
-	public static final int CENTER_SPACE = 10;
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabbedPropertySheetPageContributor.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabbedPropertySheetPageContributor.java
deleted file mode 100644
index 3b5b009..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITabbedPropertySheetPageContributor.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties.tabbed;
-
-/**
- * Interface for a workbench part to contribute content to the tabbed property
- * view.
- * <p>
- * It is expected that the contributor ID is unique for a configuration of tabs
- * and sections. Editors and views can share a configuration by sharing a
- * contributor ID. Editors and views cannot share tabs and sections from
- * multiple contributors.
- * </p>
- * <p>
- * As a workaround, if all the elements in a structured selection implement
- * ITabbedPropertySheetPageContributor and they all return the same unique
- * contributor ID, then that configuration of tabs and sections will be used by
- * the tabbed property view for that selection.
- * </p>
- * 
- * @author Anthony Hunter
- */
-public interface ITabbedPropertySheetPageContributor {
-
-	/**
-	 * Returns the contributor ID for the tabbed property sheet page.
-	 * 
-	 * @return the contributor ID for the tabbed property sheet page.
-	 */
-	public String getContributorId();
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITypeMapper.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITypeMapper.java
deleted file mode 100644
index 66939d8..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/ITypeMapper.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties.tabbed;
-
-/**
- * Allows property sheet page contributors to map the input object type to a
- * domain model type. The domain model type is then used for matching against
- * the input attribute of the propertySection extension.
- * <p>
- * The type mapper is most frequently used to return the type of the model
- * object when selecting a view object in a workbench part. For example, nodes
- * in a tree may all be TreeObjects in a structured selection. The type mapper
- * will take the tree node and return the type of the model object the node
- * represents.
- * </p>
- * <p>
- * This interface should not be extended or implemented. New type mapper instances
- * should be created using <code>AbstractTypeMapper</code>.
- * </p>
- * 
- * @author Anthony Hunter
- */
-public interface ITypeMapper {
-
-	/**
-	 * Map the input object to a domain model type.
-	 * 
-	 * @param object
-	 *            the input object.
-	 * @return the type of the input object, mapped to the domain type if
-	 *         required.
-	 */
-	public Class mapType(Object object);
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetPage.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetPage.java
deleted file mode 100644
index a1ea464..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetPage.java
+++ /dev/null
@@ -1,894 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties.tabbed;
-
-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 org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.LabelProviderChangedEvent;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.internal.views.properties.tabbed.view.Tab;
-import org.eclipse.ui.internal.views.properties.tabbed.view.TabDescriptor;
-import org.eclipse.ui.internal.views.properties.tabbed.view.TabListContentProvider;
-import org.eclipse.ui.internal.views.properties.tabbed.view.TabbedPropertyComposite;
-import org.eclipse.ui.internal.views.properties.tabbed.view.TabbedPropertyRegistry;
-import org.eclipse.ui.internal.views.properties.tabbed.view.TabbedPropertyRegistryFactory;
-import org.eclipse.ui.internal.views.properties.tabbed.view.TabbedPropertyTitle;
-import org.eclipse.ui.internal.views.properties.tabbed.view.TabbedPropertyViewer;
-import org.eclipse.ui.part.IContributedContentsView;
-import org.eclipse.ui.part.Page;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-import org.eclipse.ui.views.properties.PropertySheet;
-
-/**
- * A property sheet page that provides a tabbed UI.
- * 
- * @author Anthony Hunter
- */
-public class TabbedPropertySheetPage
-	extends Page
-	implements IPropertySheetPage, ILabelProviderListener {
-
-	// widgets
-	private TabbedPropertyComposite tabbedPropertyComposite;
-
-	private TabbedPropertySheetWidgetFactory widgetFactory;
-
-	private ITabbedPropertySheetPageContributor contributor;
-
-	private TabbedPropertyRegistry registry;
-
-	private ITabbedPropertySheetPageContributor selectionContributor = null;
-
-	/**
-	 * The currently active contributor id, which may not match the contributor
-	 * id from the workbench part that created this instance.
-	 */
-	private String currentContributorId;
-
-	protected IStructuredContentProvider tabListContentProvider;
-
-	private ISelection currentSelection;
-
-	private boolean activePropertySheet;
-
-	private TabbedPropertyViewer tabbedPropertyViewer;
-
-	private Tab currentTab;
-
-	private Map descriptorToTab;
-
-	private Map tabToComposite;
-
-	private List selectionQueue;
-
-	private boolean selectionQueueLocked;
-
-	private List tabSelectionListeners;
-
-	private IWorkbenchWindow cachedWorkbenchWindow;
-
-	private boolean hasTitleBar;
-
-	/**
-	 * a listener that is interested in part activation events.
-	 */
-	private IPartListener partActivationListener = new IPartListener() {
-
-		public void partActivated(IWorkbenchPart part) {
-			handlePartActivated(part);
-		}
-
-		public void partBroughtToTop(IWorkbenchPart part) {
-		}
-
-		public void partClosed(IWorkbenchPart part) {
-		}
-
-		public void partDeactivated(IWorkbenchPart part) {
-		}
-
-		public void partOpened(IWorkbenchPart part) {
-		}
-	};
-
-	private class TabbedPropertySheetPageContributorFromSelection
-		implements ITabbedPropertySheetPageContributor {
-
-		private String contributorId;
-
-		/**
-		 * Constructor that takes in a contributor id taken from a selection.
-		 * 
-		 * @param contributorId
-		 *            the contributor id.
-		 */
-		public TabbedPropertySheetPageContributorFromSelection(
-				String contributorId) {
-			super();
-			this.contributorId = contributorId;
-		}
-
-		/**
-		 * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor#getContributorId()
-		 */
-		public String getContributorId() {
-			return contributorId;
-		}
-
-	}
-
-	/**
-	 * Label provider for the ListViewer.
-	 */
-	class TabbedPropertySheetPageLabelProvider
-		extends LabelProvider {
-
-		public String getText(Object element) {
-			if (element instanceof TabDescriptor) {
-				return ((TabDescriptor) element).getLabel();
-			}
-			return null;
-		}
-	}
-
-	/**
-	 * SelectionChangedListener for the ListViewer.
-	 */
-	class SelectionChangedListener
-		implements ISelectionChangedListener {
-
-		/**
-		 * Shows the tab associated with the selection.
-		 */
-		public void selectionChanged(SelectionChangedEvent event) {
-			IStructuredSelection selection = (IStructuredSelection) event
-				.getSelection();
-			Tab tab = null;
-			TabDescriptor descriptor = (TabDescriptor) selection
-				.getFirstElement();
-
-			if (descriptor == null) {
-				// pretend the tab is empty.
-				hideTab(currentTab);
-			} else {
-				// create tab if necessary
-				// can not cache based on the id - tabs may have the same id,
-				// but different section depending on the selection
-				tab = (Tab) descriptorToTab.get(descriptor);
-
-				if (tab != currentTab) {
-					hideTab(currentTab);
-				}
-
-				Composite tabComposite = (Composite) tabToComposite.get(tab);
-				if (tabComposite == null) {
-					tabComposite = createTabComposite();
-					tab.createControls(tabComposite,
-						TabbedPropertySheetPage.this);
-					// tabAreaComposite.layout(true);
-					tabToComposite.put(tab, tabComposite);
-				}
-				// force widgets to be resized
-				tab.setInput(tabbedPropertyViewer.getWorkbenchPart(),
-					(ISelection) tabbedPropertyViewer.getInput());
-
-				// store tab selection
-				storeCurrentTabSelection(descriptor.getLabel());
-
-				if (tab != currentTab) {
-					showTab(tab);
-				}
-
-				tab.refresh();
-			}
-			tabbedPropertyComposite.getTabComposite().layout(true);
-			currentTab = tab;
-			resizeScrolledComposite();
-
-			if (descriptor != null) {
-				handleTabSelection(descriptor);
-			}
-		}
-
-		/**
-		 * Shows the given tab.
-		 */
-		private void showTab(Tab target) {
-			if (target != null) {
-				Composite tabComposite = (Composite) tabToComposite.get(target);
-				if (tabComposite != null) {
-					/**
-					 * the following method call order is important - do not
-					 * change it or the widgets might be drawn incorrectly
-					 */
-					tabComposite.moveAbove(null);
-					target.aboutToBeShown();
-					tabComposite.setVisible(true);
-				}
-			}
-		}
-
-		/**
-		 * Hides the given tab.
-		 */
-		private void hideTab(Tab target) {
-			if (target != null) {
-				Composite tabComposite = (Composite) tabToComposite.get(target);
-				if (tabComposite != null) {
-					target.aboutToBeHidden();
-					tabComposite.setVisible(false);
-				}
-			}
-		}
-
-	}
-
-	/**
-	 * create a new tabbed property sheet page.
-	 * 
-	 * @param tabbedPropertySheetPageContributor
-	 *            the tabbed property sheet page contributor.
-	 */
-	public TabbedPropertySheetPage(
-			ITabbedPropertySheetPageContributor tabbedPropertySheetPageContributor) {
-		contributor = tabbedPropertySheetPageContributor;
-		tabToComposite = new HashMap();
-		selectionQueue = new ArrayList(10);
-		tabSelectionListeners = new ArrayList();
-		initContributor(contributor.getContributorId());
-	}
-
-	/**
-	 * Handle the part activated event.
-	 * 
-	 * @param part
-	 *            the new activated part.
-	 */
-	protected void handlePartActivated(IWorkbenchPart part) {
-		/*
-		 * The properties view has been activated and the current page is this
-		 * instance of TabbedPropertySheetPage
-		 */
-		boolean thisActivated = part instanceof PropertySheet
-			&& ((PropertySheet) part).getCurrentPage() == this;
-
-		/*
-		 * When the active part changes and the part does not provide a
-		 * selection that affects this property sheet page, the PropertySheet
-		 * does not send us a selectionChanged() event. We need to be informed
-		 * of these events since we want to send aboutToBeHidden() and
-		 * aboutToBeShown() when the property sheet is hidden or shown.
-		 */
-        if (!thisActivated && !part.equals(contributor)
-                && !part.getSite().getId().equals(contributor.getContributorId())) {
-			/*
-			 * Is the part is a IContributedContentsView for the contributor,
-			 * for example, outline view.
-			 */
-			IContributedContentsView view = (IContributedContentsView) part
-				.getAdapter(IContributedContentsView.class);
-			if (view == null
-				|| (view.getContributingPart() != null && !view
-					.getContributingPart().equals(contributor))) {
-				if (activePropertySheet) {
-					if (currentTab != null) {
-						currentTab.aboutToBeHidden();
-					}
-					activePropertySheet = false;
-				}
-				return;
-			}
-		}
-		if (!activePropertySheet && currentTab != null) {
-			currentTab.aboutToBeShown();
-			currentTab.refresh();
-		}
-		activePropertySheet = true;
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.IPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		widgetFactory = new TabbedPropertySheetWidgetFactory();
-		tabbedPropertyComposite = new TabbedPropertyComposite(parent,
-			widgetFactory, hasTitleBar);
-		widgetFactory.paintBordersFor(tabbedPropertyComposite);
-		tabbedPropertyComposite.setLayout(new FormLayout());
-		FormData formData = new FormData();
-		formData.left = new FormAttachment(0, 0);
-		formData.right = new FormAttachment(100, 0);
-		formData.top = new FormAttachment(0, 0);
-		formData.bottom = new FormAttachment(100, 0);
-		tabbedPropertyComposite.setLayoutData(formData);
-
-		tabbedPropertyViewer = new TabbedPropertyViewer(tabbedPropertyComposite
-			.getList());
-		tabbedPropertyViewer.setContentProvider(tabListContentProvider);
-		tabbedPropertyViewer
-			.setLabelProvider(new TabbedPropertySheetPageLabelProvider());
-		tabbedPropertyViewer
-			.addSelectionChangedListener(new SelectionChangedListener());
-
-		/**
-		 * Add a part activation listener.
-		 */
-		cachedWorkbenchWindow = getSite().getWorkbenchWindow();
-		cachedWorkbenchWindow.getPartService().addPartListener(
-			partActivationListener);
-
-		/**
-		 * Add a label provider change listener.
-		 */
-		if (hasTitleBar) {
-			registry.getLabelProvider().addListener(this);
-		}
-	}
-
-	/**
-	 * Initialize the contributor with the provided contributor id.
-	 * 
-	 * @param contributorId
-	 *            the contributor id.
-	 */
-	private void initContributor(String contributorId) {
-		descriptorToTab = new HashMap();
-		if (contributor.getContributorId().equals(contributorId)) {
-			/**
-			 * default contributor from the workbench part.
-			 */
-			registry = TabbedPropertyRegistryFactory.getInstance()
-				.createRegistry(contributor);
-		} else {
-			/**
-			 * selection contributor.
-			 */
-			selectionContributor = new TabbedPropertySheetPageContributorFromSelection(
-				contributorId);
-			registry = TabbedPropertyRegistryFactory.getInstance()
-				.createRegistry(selectionContributor);
-		}
-		currentContributorId = contributorId;
-		tabListContentProvider = getTabListContentProvider();
-		hasTitleBar = registry.getLabelProvider() != null;
-
-		if (tabbedPropertyViewer != null) {
-			tabbedPropertyViewer.setContentProvider(tabListContentProvider);
-		}
-
-		/**
-		 * Add a label provider change listener.
-		 */
-		if (hasTitleBar) {
-			registry.getLabelProvider().addListener(this);
-		}
-
-	}
-
-	/**
-	 * Gets the tab list content provider for the contributor.
-	 * 
-	 * @return the tab list content provider for the contributor.
-	 */
-	protected IStructuredContentProvider getTabListContentProvider() {
-		return new TabListContentProvider(registry);
-	}
-
-	/**
-	 * Dispose the contributor with the provided contributor id. This happens on
-	 * part close as well as when contributiors switch between the workbench
-	 * part and contributor from a selection.
-	 * 
-	 * @param contributorId
-	 *            the contributor id.
-	 */
-	private void disposeContributor() {
-		/**
-		 * If the current tab is about to be disposed we have to call
-		 * aboutToBeHidden
-		 */
-		if (currentTab != null) {
-			currentTab.aboutToBeHidden();
-			currentTab = null;
-		}
-
-		disposeTabs(descriptorToTab.values());
-		descriptorToTab = new HashMap();
-
-		/**
-		 * Remove the label provider change listener.
-		 */
-		if (hasTitleBar && registry != null) {
-			registry.getLabelProvider().removeListener(this);
-		}
-
-		if (selectionContributor != null) {
-			/**
-			 * remove the selection contributed registry.
-			 */
-			TabbedPropertyRegistryFactory.getInstance().disposeRegistry(
-				selectionContributor);
-			selectionContributor = null;
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.IPage#dispose()
-	 */
-	public void dispose() {
-
-		disposeContributor();
-
-		if (widgetFactory != null) {
-			widgetFactory.dispose();
-			widgetFactory = null;
-		}
-		/**
-		 * Remove the part activation listener.
-		 */
-		if (cachedWorkbenchWindow != null) {
-			cachedWorkbenchWindow.getPartService().removePartListener(
-				partActivationListener);
-			cachedWorkbenchWindow = null;
-		}
-
-		if (registry != null) {
-			TabbedPropertyRegistryFactory.getInstance().disposeRegistry(
-				contributor);
-			registry = null;
-		}
-        
-        contributor = null;
-        currentSelection = null;
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.IPage#getControl()
-	 */
-	public Control getControl() {
-		return tabbedPropertyComposite;
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.IPage#setActionBars(org.eclipse.ui.IActionBars)
-	 */
-	public void setActionBars(IActionBars actionBars) {
-		// Override the undo and redo global action handlers
-		// to use the contributor action handlers
-        IActionBars partActionBars = null;
-		if (contributor instanceof IEditorPart) {
-			IEditorPart editorPart = (IEditorPart) contributor;
-            partActionBars = editorPart.getEditorSite().getActionBars();
-		} else if (contributor instanceof IViewPart) {
-            IViewPart viewPart = (IViewPart) contributor;
-            partActionBars = viewPart.getViewSite().getActionBars();
-        } 
-        
-        if (partActionBars != null) {
-            IAction action = partActionBars.getGlobalActionHandler(ActionFactory.UNDO
-                .getId());
-            if (action != null) {
-                actionBars.setGlobalActionHandler(ActionFactory.UNDO.getId(), action);
-            }
-            action = partActionBars.getGlobalActionHandler(ActionFactory.REDO
-                .getId()); 
-            if (action != null) {
-                actionBars.setGlobalActionHandler(ActionFactory.REDO.getId(), action);
-            }
-        }
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.IPage#setFocus()
-	 */
-	public void setFocus() {
-		getControl().setFocus();
-	}
-
-	/**
-	 * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		setInput(part, selection);
-	}
-
-	/**
-	 * Stores the current tab label in the selection queue. Tab labels are used
-	 * to carry the tab context from one input object to another. The queue
-	 * specifies the selection priority. So if the first tab in the queue is not
-	 * available for the input we try the second tab and so on. If none of the
-	 * tabs are available we default to the first tab available for the input.
-	 */
-	private void storeCurrentTabSelection(String label) {
-		if (!selectionQueueLocked) {
-			selectionQueue.remove(label);
-			selectionQueue.add(0, label);
-		}
-	}
-
-	private void resizeScrolledComposite() {
-		Point currentTabSize = new Point(0, 0);
-		if (currentTab != null) {
-			Composite sizeReference = (Composite) tabToComposite
-				.get(currentTab);
-			if (sizeReference != null) {
-				currentTabSize = sizeReference.computeSize(SWT.DEFAULT, SWT.DEFAULT); 
-			}
-		}
-		tabbedPropertyComposite.getScrolledComposite().setMinSize(
-			currentTabSize.x, currentTabSize.y);
-	}
-
-	private void disposeTabs(Collection tabs) {
-		for (Iterator iter = tabs.iterator(); iter.hasNext();) {
-			Tab tab = (Tab) iter.next();
-			Composite composite = (Composite) tabToComposite.remove(tab);
-			tab.dispose();
-			if (composite != null) {
-				composite.dispose();
-			}
-		}
-	}
-
-	/**
-	 * Returns the last known selected tab for the given input.
-	 */
-	private int getLastTabSelection(IWorkbenchPart part, ISelection input) {
-		TabDescriptor[] descriptors = registry.getTabDescriptors(part, input);
-		if (descriptors.length != 0) {
-			for (Iterator iter = selectionQueue.iterator(); iter.hasNext();) {
-				String text = (String) iter.next();
-				for (int i = 0; i < descriptors.length; i++) {
-					if (text.equals(descriptors[i].getLabel())) {
-						return i;
-					}
-				}
-			}
-		}
-		return 0;
-	}
-
-	/**
-	 * Update the current tabs to represent the given input object. When tabs
-	 * apply for both the old and new input they are reused otherwise they are
-	 * disposed. If the current visible tab will not be reused (i.e. will be
-	 * disposed) we have to send it an aboutToBeHidden() message.
-	 */
-	protected void updateTabs(TabDescriptor[] descriptors) {
-		Map newTabs = new HashMap(descriptors.length * 2);
-		boolean disposingCurrentTab = (currentTab != null);
-		for (int i = 0; i < descriptors.length; i++) {
-			Tab tab = (Tab) descriptorToTab.remove(descriptors[i]);
-
-			if (tab != null && tab.controlsHaveBeenCreated()) {
-				if (tab == currentTab) {
-					disposingCurrentTab = false;
-				}
-			} else {
-				tab = (descriptors[i]).createTab();
-			}
-
-			newTabs.put(descriptors[i], tab);
-		}
-		if (disposingCurrentTab) {
-			/**
-			 * If the current tab is about to be disposed we have to call
-			 * aboutToBeHidden
-			 */
-			currentTab.aboutToBeHidden();
-			currentTab = null;
-		}
-		disposeTabs(descriptorToTab.values());
-		descriptorToTab = newTabs;
-	}
-
-	/**
-	 * Helper method for creating property tab composites.
-	 */
-	private Composite createTabComposite() {
-		Composite result = widgetFactory.createComposite(
-			tabbedPropertyComposite.getTabComposite(), SWT.NO_FOCUS);
-		result.setVisible(false);
-		result.setLayout(new FillLayout());
-		FormData data = new FormData();
-		if (hasTitleBar) {
-			data.top = new FormAttachment(tabbedPropertyComposite.getTitle(), 0);
-		} else {
-			data.top = new FormAttachment(0, 0);
-		}
-		data.bottom = new FormAttachment(100, 0);
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(100, 0);
-		result.setLayoutData(data);
-		return result;
-	}
-
-	private void setInput(IWorkbenchPart part, ISelection selection) {
-		if (selection.equals(currentSelection)) {
-			return;
-		}
-
-		this.currentSelection = selection;
-
-		// see if the selection provides a new contributor
-		validateRegistry(selection);
-		TabDescriptor[] descriptors = registry.getTabDescriptors(part,
-			currentSelection);
-		// If there are no descriptors for the given input we do not need to
-		// touch the tab objects. We might reuse them for the next valid
-		// input.
-		if (descriptors.length > 0) {
-			updateTabs(descriptors);
-		}
-		// update tabs list
-		tabbedPropertyViewer.setInput(part, currentSelection);
-		int lastTabSelectionIndex = getLastTabSelection(part, currentSelection);
-		Object selectedTab = tabbedPropertyViewer
-			.getElementAt(lastTabSelectionIndex);
-		selectionQueueLocked = true;
-		try {
-			if (selectedTab == null) {
-				tabbedPropertyViewer.setSelection(null);
-			} else {
-				tabbedPropertyViewer.setSelection(new StructuredSelection(
-					selectedTab));
-			}
-		} finally {
-			selectionQueueLocked = false;
-		}
-		refreshTitleBar();
-	}
-
-	/**
-	 * Refresh the currently active tab.
-	 */
-	public void refresh() {
-		currentTab.refresh();
-	}
-
-	/**
-	 * Get the currently active tab.
-	 * 
-	 * @return the currently active tab.
-	 */
-	public Tab getCurrentTab() {
-		return currentTab;
-	}
-
-	/**
-	 * Handle the tab selected change event.
-	 * 
-	 * @param tabDescriptor
-	 *            the new selected tab.
-	 */
-	private void handleTabSelection(TabDescriptor tabDescriptor) {
-		if (selectionQueueLocked) {
-			/*
-			 * don't send tab selection events for non user changes.
-			 */
-			return;
-		}
-		for (Iterator i = tabSelectionListeners.iterator(); i.hasNext();) {
-			ITabSelectionListener listener = (ITabSelectionListener) i.next();
-			listener.tabSelected(tabDescriptor);
-		}
-	}
-
-	/**
-	 * Add a tab selection listener.
-	 * 
-	 * @param listener
-	 *            a tab selection listener.
-	 */
-	public void addTabSelectionListener(ITabSelectionListener listener) {
-		tabSelectionListeners.add(listener);
-	}
-
-	/**
-	 * Remove a tab selection listener.
-	 * 
-	 * @param listener
-	 *            a tab selection listener.
-	 */
-	public void removeTabSelectionListener(ITabSelectionListener listener) {
-		tabSelectionListeners.remove(listener);
-	}
-
-	/**
-	 * Get the widget factory.
-	 * 
-	 * @return the widget factory.
-	 */
-	public TabbedPropertySheetWidgetFactory getWidgetFactory() {
-		return widgetFactory;
-	}
-
-	/**
-	 * Update the title bar of the contributor has a label provider.
-	 */
-	private void refreshTitleBar() {
-		if (hasTitleBar) {
-			TabbedPropertyTitle title = tabbedPropertyComposite.getTitle();
-			if (currentTab == null) {
-				/**
-				 * No tabs are shown so hide the title bar, otherwise you see
-				 * "No properties available" and a title bar for the selection.
-				 */
-				title.setTitle(null, null);
-			} else {
-				String text = registry.getLabelProvider().getText(
-					currentSelection);
-				Image image = registry.getLabelProvider().getImage(
-					currentSelection);
-				title.setTitle(text, image);
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILabelProviderListener#labelProviderChanged(org.eclipse.jface.viewers.LabelProviderChangedEvent)
-	 */
-	public void labelProviderChanged(LabelProviderChangedEvent event) {
-		refreshTitleBar();
-	}
-
-    /**
-     * Retrieve the contributor from the selection.
-     * 
-     * @param object -
-     *            the selected element
-     * @return the TabbedPropertySheetPageContributor or null if not applicable
-     */
-    private ITabbedPropertySheetPageContributor getTabbedPropertySheetPageContributor(
-            Object object) {
-        if (object instanceof ITabbedPropertySheetPageContributor) {
-            return (ITabbedPropertySheetPageContributor) object;
-        }
-
-        if (object instanceof IAdaptable
-            && ((IAdaptable) object)
-                .getAdapter(ITabbedPropertySheetPageContributor.class) != null) {
-            return (ITabbedPropertySheetPageContributor) (((IAdaptable) object)
-                .getAdapter(ITabbedPropertySheetPageContributor.class));
-        }
-
-        if (Platform.getAdapterManager().hasAdapter(object,
-            ITabbedPropertySheetPageContributor.class.getName())) {
-            return (ITabbedPropertySheetPageContributor) Platform
-                .getAdapterManager().loadAdapter(object,
-                    ITabbedPropertySheetPageContributor.class.getName());
-        }
-
-        return null;
-	}
-
-	/**
-	 * The workbench part creates this instance of the TabbedPropertySheetPage
-	 * and implements ITabbedPropertySheetPageContributor which is unique
-	 * contributor id. This unique contributor id is used to load a registry
-	 * with the extension point This id matches the registry.
-	 * <p>
-	 * It is possible for elements in a selection to implement
-	 * ITabbedPropertySheetPageContributor to provide a different contributor id
-	 * and thus a differenent registry.
-	 * 
-	 * @param selection
-	 *            the current selection in the active workbench part.
-	 */
-	private void validateRegistry(ISelection selection) {
-		if (selection == null) {
-			return;
-		}
-
-		if (!(selection instanceof IStructuredSelection)) {
-			return;
-		}
-
-		IStructuredSelection structuredSelection = (IStructuredSelection) selection;
-		if (structuredSelection.size() == 0) {
-			return;
-		}
-
-        ITabbedPropertySheetPageContributor newContributor = getTabbedPropertySheetPageContributor(structuredSelection.getFirstElement());
-        
-		if (newContributor == null) {
-			/**
-			 * selection does not implement or adapt ITabbedPropertySheetPageContributor.
-			 */
-			newContributor = contributor;
-		}
-		
-        String selectionContributorId = newContributor.getContributorId();
-		if (selectionContributorId.equals(currentContributorId)) {
-			/**
-			 * selection has the same contributor id as current, so leave
-			 * existing registry.
-			 */
-			return;
-		}
-
-		/**
-		 * Selection implements ITabbedPropertySheetPageContributor different
-		 * than current contributor id, so make sure all elements implement the
-		 * new id. If all contributor id do not match, then fall back to default
-		 * contributor from the workbench part.
-		 */
-		Iterator i = structuredSelection.iterator();
-        i.next();
-		while (i.hasNext()) {
-            newContributor = getTabbedPropertySheetPageContributor(i.next());
-			if (newContributor == null || !newContributor.getContributorId().equals(selectionContributorId)) {
-				/**
-				 * fall back to use the default contributor id from the
-				 * workbench part.
-				 */
-				if (selectionContributor != null) {
-					disposeContributor();
-					currentContributorId = contributor.getContributorId();
-					initContributor(currentContributorId);
-				}
-				return;
-			}
-		}
-
-		/**
-		 * All the elements in the selection implement a new contributor id, so
-		 * use that id.
-		 */
-		disposeContributor();
-		currentContributorId = selectionContributorId;
-		initContributor(currentContributorId);
-        overrideActionBars();
-	}
-
-    /**
-     * Override the action bars for the selection based contributor.
-     */
-    private void overrideActionBars() {
-        if (registry.getActionProvider() != null ) {
-            IActionProvider actionProvider = registry.getActionProvider();
-            actionProvider.setActionBars(contributor, getSite().getActionBars());
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetWidgetFactory.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetWidgetFactory.java
deleted file mode 100644
index dedd4c9..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetWidgetFactory.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties.tabbed;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-/**
- * A FormToolkit customized for use by tabbed property sheet page.
- * 
- * @author Anthony Hunter
- */
-public class TabbedPropertySheetWidgetFactory
-    extends FormToolkit {
-
-    /**
-     * private constructor.
-     */
-    public TabbedPropertySheetWidgetFactory() {
-        super(Display.getCurrent());
-    }
-
-    /**
-     * Creates the tab folder as a part of the form.
-     * 
-     * @param parent
-     *            the composite parent.
-     * @param style
-     *            the tab folder style.
-     * @return the tab folder
-     */
-    public CTabFolder createTabFolder(Composite parent, int style) {
-        CTabFolder tabFolder = new CTabFolder(parent, style);
-        return tabFolder;
-    }
-
-    /**
-     * Creates the tab item as a part of the tab folder.
-     * 
-     * @param tabFolder
-     *            the parent.
-     * @param style
-     *            the tab folder style.
-     * @return the tab item.
-     */
-    public CTabItem createTabItem(CTabFolder tabFolder, int style) {
-        CTabItem tabItem = new CTabItem(tabFolder, style);
-        return tabItem;
-    }
-
-    /**
-     * Creates the list as a part of the form.
-     * 
-     * @param parent
-     *            the composite parent.
-     * @param style
-     *            the list style.
-     * @return the list.
-     */
-    public List createList(Composite parent, int style) {
-        List list = new org.eclipse.swt.widgets.List(parent, style);
-        return list;
-    }
-
-    public Composite createComposite(Composite parent, int style) {
-        Composite c = super.createComposite(parent, style);
-        paintBordersFor(c);
-        return c;
-    }
-
-    public Composite createComposite(Composite parent) {
-        Composite c = createComposite(parent, SWT.NONE);
-        return c;
-    }
-
-    /**
-     * Creates a plain composite as a part of the form.
-     * 
-     * @param parent
-     *            the composite parent.
-     * @param style
-     *            the composite style.
-     * @return the composite.
-     */
-    public Composite createPlainComposite(Composite parent, int style) {
-        Composite c = super.createComposite(parent, style);
-        c.setBackground(parent.getBackground());
-        paintBordersFor(c);
-        return c;
-    }
-
-    /**
-     * Creates a scrolled composite as a part of the form.
-     * 
-     * @param parent
-     *            the composite parent.
-     * @param style
-     *            the composite style.
-     * @return the composite.
-     */
-    public ScrolledComposite createScrolledComposite(Composite parent, int style) {
-        ScrolledComposite scrolledComposite = new ScrolledComposite(parent,
-            style);
-        return scrolledComposite;
-    }
-
-    /**
-     * Creates a combo box as a part of the form.
-     * 
-     * @param parent
-     *            the combo box parent.
-     * @param comboStyle
-     *            the combo box style.
-     * @return the combo box.
-     */
-    public CCombo createCCombo(Composite parent, int comboStyle) {
-        CCombo combo = new CCombo(parent, comboStyle);
-        adapt(combo, true, false);
-        // Bugzilla 145837 - workaround for no borders on Windows XP
-		if (getBorderStyle() == SWT.BORDER) {
-			combo.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER);
-		}
-        return combo;
-    }
-
-    /**
-     * Creates a combo box as a part of the form.
-     * 
-     * @param parent
-     *            the combo box parent.
-     * @return the combo box.
-     */
-    public CCombo createCCombo(Composite parent) {
-        return createCCombo(parent, SWT.FLAT | SWT.READ_ONLY);
-    }
-
-    /**
-     * Creates a group as a part of the form.
-     * 
-     * @param parent
-     *            the group parent.
-     * @param text
-     *            the group title.
-     * @return the composite.
-     */
-    public Group createGroup(Composite parent, String text) {
-        Group group = new Group(parent, SWT.SHADOW_NONE);
-        group.setText(text);
-        group.setBackground(getColors().getBackground());
-        group.setForeground(getColors().getForeground());
-        return group;
-    }
-
-    /**
-     * Creates a flat form composite as a part of the form.
-     * 
-     * @param parent
-     *            the composite parent.
-     * @return the composite.
-     */
-    public Composite createFlatFormComposite(Composite parent) {
-        Composite composite = createComposite(parent);
-        FormLayout layout = new FormLayout();
-        layout.marginWidth = ITabbedPropertyConstants.HSPACE + 2;
-        layout.marginHeight = ITabbedPropertyConstants.VSPACE;
-        layout.spacing = ITabbedPropertyConstants.VMARGIN + 1;
-        composite.setLayout(layout);
-        return composite;
-    }
-
-    /**
-     * Creates a label as a part of the form.
-     * 
-     * @param parent
-     *            the label parent.
-     * @param text
-     *            the label text.
-     * @return the label.
-     */
-    public CLabel createCLabel(Composite parent, String text) {
-        return createCLabel(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.
-     */
-    public CLabel createCLabel(Composite parent, String text, int style) {
-        final CLabel label = new CLabel(parent, style);
-        label.setBackground(parent.getBackground());
-        label.setText(text);
-        return label;
-    }
-
-    public void dispose() {
-        if (getColors() != null) {
-            super.dispose();
-        }
-    }
-}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/package.html b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/package.html
deleted file mode 100644
index a6397e0..0000000
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/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">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides the Tabbed Properties framework. This allows client views and editors to
-provide a tabbed property sheet page to the Properties view. 
-See TabbedPropertySheetPage.
-The tabs and sections to show for the selected element(s) in the source part are
-defined by extensions to this plug-in's extension points.
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.views/.classpath b/bundles/org.eclipse.ui.views/.classpath
deleted file mode 100644
index ce73933..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.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<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 9c6a775..0000000
--- a/bundles/org.eclipse.ui.views/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.views</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.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.ui.views/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.views/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index d2d9da5..0000000
--- a/bundles/org.eclipse.ui.views/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:20:48 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.ui.views/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.ui.views/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index f27cfb9..0000000
--- a/bundles/org.eclipse.ui.views/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Tue Sep 12 08:59:34 EDT 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.3\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template></templates>
diff --git a/bundles/org.eclipse.ui.views/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.ui.views/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 6ae9b2f..0000000
--- a/bundles/org.eclipse.ui.views/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Nov 16 14:12:15 EST 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=0
-compilers.p.illegal-att-value=0
-compilers.use-project=true
diff --git a/bundles/org.eclipse.ui.views/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.views/META-INF/MANIFEST.MF
deleted file mode 100644
index db5d37e..0000000
--- a/bundles/org.eclipse.ui.views/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.ui.views; singleton:=true
-Bundle-Version: 3.2.100.qualifier
-Bundle-ClassPath: .
-Bundle-Activator: org.eclipse.ui.internal.views.ViewsPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.internal.views;x-internal:=true,
- org.eclipse.ui.internal.views.contentoutline;x-internal:=true,
- org.eclipse.ui.internal.views.properties;x-internal:=true,
- org.eclipse.ui.views.contentoutline,
- org.eclipse.ui.views.properties
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.help;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui;bundle-version="[3.2.0,4.0.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/bundles/org.eclipse.ui.views/about.html b/bundles/org.eclipse.ui.views/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.ui.views/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</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 bbfa0a5..0000000
--- a/bundles/org.eclipse.ui.views/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               .,\
-               META-INF/
-src.includes = about.html
-source.. = src/
diff --git a/bundles/org.eclipse.ui.views/component.xml b/bundles/org.eclipse.ui.views/component.xml
deleted file mode 100644
index 3efc32e..0000000
--- a/bundles/org.eclipse.ui.views/component.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<component xmlns="http://eclipse.org/component"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://eclipse.org/component ../component.xsd "
-   name="Platform UI Views">
- <plugin id="org.eclipse.ui.views" />
-
- <package name="org.eclipse.ui.views.contentoutline" >
-   <type name="ContentOutline" instantiate="false" subclass="false"/>
- </package>
-
- <package name="org.eclipse.ui.views.properties" exclusive="false" >
-   <type name="ColorPropertyDescriptor" subclass="false"/>
-   <type name="ComboBoxPropertyDescriptor" subclass="false"/>
-   <type name="IPropertySheetEntryListener" implement="false"/>
-   <type name="PropertySheet" instantiate="false" subclass="false"/>
-   <type name="PropertySheetPage" subclass="false"/>
-   <type name="TextPropertyDescriptor" subclass="false"/>
- </package>
-
- <component-depends unrestricted="true"/>
-
-</component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/icons/full/dlcl16/defaults_ps.gif b/bundles/org.eclipse.ui.views/icons/full/dlcl16/defaults_ps.gif
deleted file mode 100644
index 641ba72..0000000
--- a/bundles/org.eclipse.ui.views/icons/full/dlcl16/defaults_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.views/icons/full/dlcl16/filter_ps.gif b/bundles/org.eclipse.ui.views/icons/full/dlcl16/filter_ps.gif
deleted file mode 100644
index ba6d891..0000000
--- a/bundles/org.eclipse.ui.views/icons/full/dlcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.views/icons/full/dlcl16/tree_mode.gif b/bundles/org.eclipse.ui.views/icons/full/dlcl16/tree_mode.gif
deleted file mode 100644
index 62bdbe2..0000000
--- a/bundles/org.eclipse.ui.views/icons/full/dlcl16/tree_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.views/icons/full/elcl16/defaults_ps.gif b/bundles/org.eclipse.ui.views/icons/full/elcl16/defaults_ps.gif
deleted file mode 100644
index c064899..0000000
--- a/bundles/org.eclipse.ui.views/icons/full/elcl16/defaults_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.views/icons/full/elcl16/filter_ps.gif b/bundles/org.eclipse.ui.views/icons/full/elcl16/filter_ps.gif
deleted file mode 100644
index 6fe6f0e..0000000
--- a/bundles/org.eclipse.ui.views/icons/full/elcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.views/icons/full/elcl16/tree_mode.gif b/bundles/org.eclipse.ui.views/icons/full/elcl16/tree_mode.gif
deleted file mode 100644
index dda8bae..0000000
--- a/bundles/org.eclipse.ui.views/icons/full/elcl16/tree_mode.gif
+++ /dev/null
Binary files differ
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 0fae877..0000000
--- a/bundles/org.eclipse.ui.views/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-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 86d2559..0000000
--- a/bundles/org.eclipse.ui.views/plugin.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   
-     <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%Views.PropertySheet"
-            icon="$nl$/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="$nl$/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 e23b672..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/ViewsPlugin.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.jface.resource.ImageDescriptor;
-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 final static String ICONS_PATH = "$nl$/icons/full/";//$NON-NLS-1$
-
-    private static ViewsPlugin instance;
-
-    /**
-     * Returns the singleton instance.
-     * 
-     * @return the singleton instance.
-     */
-    public static ViewsPlugin getDefault() {
-        return instance;
-    }
-
-    /**
-     * Creates a new instance of the receiver.
-     * 
-     * @see org.eclipse.core.runtime.Plugin#Plugin()
-     */
-    public ViewsPlugin() {
-        super();
-        instance = this;
-    }
-	
-	/**
-	 * Get the workbench image with the given path relative to
-	 * ICON_PATH.
-	 * @param relativePath
-	 * @return ImageDescriptor
-	 */
-	public static ImageDescriptor getViewImageDescriptor(String relativePath){
-		return imageDescriptorFromPlugin(PLUGIN_ID, ICONS_PATH + relativePath);
-	}
-    
-    /**
-     * If it is possible to adapt the given object to the given type, this
-     * returns the adapter. Performs the following checks:
-     * 
-     * <ol>
-     * <li>Returns <code>sourceObject</code> if it is an instance of the
-     * adapter type.</li>
-     * <li>If sourceObject implements IAdaptable, it is queried for adapters.</li>
-     * <li>If sourceObject is not an instance of PlatformObject (which would have
-     * already done so), the adapter manager is queried for adapters</li>
-     * </ol>
-     * 
-     * Otherwise returns null.
-     * 
-     * @param sourceObject
-     *            object to adapt, or null
-     * @param adapter
-     *            type to adapt to
-     * @param activatePlugins 
-     *            true if IAdapterManager.loadAdapter should be used (may trigger plugin activation)
-     * @return a representation of sourceObject that is assignable to the
-     *         adapter type, or null if no such representation exists
-     */
-    public static Object getAdapter(Object sourceObject, Class adapter, boolean activatePlugins) {
-    	Assert.isNotNull(adapter);
-        if (sourceObject == null) {
-            return null;
-        }
-        if (adapter.isInstance(sourceObject)) {
-            return sourceObject;
-        }
-
-        if (sourceObject instanceof IAdaptable) {
-            IAdaptable adaptable = (IAdaptable) sourceObject;
-
-            Object result = adaptable.getAdapter(adapter);
-            if (result != null) {
-                // Sanity-check
-                Assert.isTrue(adapter.isInstance(result));
-                return result;
-            }
-        } 
-        
-        if (!(sourceObject instanceof PlatformObject)) {
-        	Object result;
-        	if (activatePlugins) {
-        		result = Platform.getAdapterManager().loadAdapter(sourceObject, adapter.getName());
-        	} else {
-        		result = Platform.getAdapterManager().getAdapter(sourceObject, adapter);
-        	}
-            if (result != null) {
-                return result;
-            }
-        }
-
-        return null;
-    }
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/ContentOutlineMessages.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/ContentOutlineMessages.java
deleted file mode 100644
index ddba84a..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/ContentOutlineMessages.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.views.contentoutline;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * ContentOutlineMessages is the message class for the messages used in the content outline.
- *
- */
-public class ContentOutlineMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.ui.internal.views.contentoutline.messages";//$NON-NLS-1$
-
-	// ==============================================================================
-	// Outline View
-	// ==============================================================================
-	public static String ContentOutline_noOutline;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, ContentOutlineMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/messages.properties b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/messages.properties
deleted file mode 100644
index 2e229b9..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/messages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2005  IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-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/internal/views/contentoutline/package.html b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/package.html
deleted file mode 100644
index 87324c3..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/contentoutline/package.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides the internal support for the Content Outline view.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/properties/PropertiesMessages.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/properties/PropertiesMessages.java
deleted file mode 100644
index 1f6e5ab..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/properties/PropertiesMessages.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.views.properties;
-
-import org.eclipse.osgi.util.NLS;
-
-public class PropertiesMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.ui.internal.views.properties.messages";//$NON-NLS-1$
-
-	// package: org.eclipse.ui.views.properties
-
-	// ==============================================================================
-	// Properties View
-	// ==============================================================================
-
-	public static String Categories_text;
-	public static String Categories_toolTip;
-
-	public static String CopyProperty_text;
-
-	public static String Defaults_text;
-	public static String Defaults_toolTip;
-
-	public static String Filter_text;
-	public static String Filter_toolTip;
-
-	public static String PropertyViewer_property;
-	public static String PropertyViewer_value;
-	public static String PropertyViewer_misc;
-
-	public static String CopyToClipboardProblemDialog_title;
-	public static String CopyToClipboardProblemDialog_message;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, PropertiesMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/properties/messages.properties b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/properties/messages.properties
deleted file mode 100644
index 8efdcdc..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/properties/messages.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-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
-
-CopyToClipboardProblemDialog_title=Problem Copying to Clipboard
-CopyToClipboardProblemDialog_message=There was a problem when accessing the system clipboard. Retry?
diff --git a/bundles/org.eclipse.ui.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 5357d0d..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutline.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.contentoutline;
-
-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.swt.widgets.Composite;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.views.ViewsPlugin;
-import org.eclipse.ui.internal.views.contentoutline.ContentOutlineMessages;
-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 {
-
-
-
-    /**
-     * The plugin prefix.
-     */
-    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 =ContentOutlineMessages.ContentOutline_noOutline; 
-
-    /**
-     * 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);
-        PlatformUI.getWorkbench().getHelpSystem().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 = ViewsPlugin.getAdapter(part, IContentOutlinePage.class, false);
-        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();
-		}
-
-        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 d5b7a3b..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutlinePage.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.contentoutline;
-
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.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.
-     * @param parent
-     */
-    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 selection 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;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.part.IPageBookViewPage#init(org.eclipse.ui.part.IPageSite)
-     */
-    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 6893210..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/IContentOutlinePage.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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/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 6e949e3..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CategoriesAction.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * 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.
-     * @param viewer the viewer
-     * @param name the name
-     */
-    public CategoriesAction(PropertySheetViewer viewer, String name) {
-        super(viewer, name);
-        PlatformUI.getWorkbench().getHelpSystem()
-                .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 4426ad0..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ColorPropertyDescriptor.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 396eadc..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxLabelProvider.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 ee9c1fa..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxPropertyDescriptor.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 labels array at the 
- * currently selected index.
- * <p>
- * The value of the property is a 0-based <code>Integer</code> index into
- * the labels array. 
- * </p>
- * <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 labels to display in the combo box
-     */
-    private String[] labels;
-
-    /**
-     * 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 labelsArray the labels to display in the combo box
-     */
-    public ComboBoxPropertyDescriptor(Object id, String displayName,
-            String[] labelsArray) {
-        super(id, displayName);
-        labels = labelsArray;
-    }
-
-    /**
-     * 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, labels,
-                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(labels);
-		}
-    }
-}
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 c851042..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CopyPropertyAction.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.Clipboard;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.views.properties.PropertiesMessages;
-
-/**
- * Copies a property to the clipboard.
- */
-/*package*/class CopyPropertyAction extends PropertySheetAction {
-    /**
-     * System clipboard
-     */
-    private Clipboard clipboard;
-
-    /**
-     * Creates the action.
-     * 
-     * @param viewer the viewer
-     * @param name the name
-     * @param clipboard the clipboard
-     */
-    public CopyPropertyAction(PropertySheetViewer viewer, String name,
-            Clipboard clipboard) {
-        super(viewer, name);
-        PlatformUI.getWorkbench().getHelpSystem().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.
-     * 
-     * @param sel the 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(), PropertiesMessages.CopyToClipboardProblemDialog_title,
-                    PropertiesMessages.CopyToClipboardProblemDialog_message)) {
-				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 f14cc19..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/DefaultsAction.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * 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.
-     * 
-     * @param viewer the viewer
-     * @param name the name
-     */
-    public DefaultsAction(PropertySheetViewer viewer, String name) {
-        super(viewer, name);
-        PlatformUI.getWorkbench().getHelpSystem().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 e9c344d..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/FilterAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * 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.
-     * 
-     * @param viewer the viewer
-     * @param name the name
-     */
-    public FilterAction(PropertySheetViewer viewer, String name) {
-        super(viewer, name);
-        PlatformUI.getWorkbench().getHelpSystem().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 fffb571..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ICellEditorActivationListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 7d3e4c0..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertiesHelpContextIds.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 40d7c9b..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertyDescriptor.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 9d67f17..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntry.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * <code>IPropertySheetEntry</code> describes the model interface for the
- * property sheet.
- * <p>
- * May be implemented when supplying a custom root entry to a property page.
- * </p>
- */
-public interface IPropertySheetEntry {
-
-    /**
-     * The filter id for expert properties
-     */
-    public String FILTER_ID_EXPERT = "org.eclipse.ui.views.properties.expert"; //$NON-NLS-1$
-
-    /**
-     * Adds the given listener to this entry's collection of listeners.
-     * 
-     * @param listener
-     *            the listener to add
-     */
-    public void addPropertySheetEntryListener(
-            IPropertySheetEntryListener listener);
-
-    /**
-     * Apply the current cell editor value.
-     */
-    public void applyEditorValue();
-
-    /**
-     * Called when the entry is no longer needed
-     */
-    public void dispose();
-
-    /**
-     * Returns the entry's category.
-     * 
-     * @return the entry's category
-     */
-    public String getCategory();
-
-    /**
-     * Returns the child entries for this entry.
-     * 
-     * @return the child entries for this entry
-     */
-    public IPropertySheetEntry[] getChildEntries();
-
-    /**
-     * Return a short description of the property sheet entry. Typically this
-     * description is shown in a status line when the entry is selected.
-     * 
-     * @return the entry's description
-     */
-    public String getDescription();
-
-    /**
-     * Returns the name used to display the property.
-     * 
-     * @return the name used to display the property
-     */
-    public String getDisplayName();
-
-    /**
-     * Return the <code>CellEditor</code> used to edit the property.
-     * 
-     * @param parent
-     *            the parent widget for the editor
-     * @return the <code>CellEditor</code> used to edit the property
-     */
-    CellEditor getEditor(Composite parent);
-
-    /**
-     * Returns the error text to display if the value is invalid.
-     * 
-     * @return the error text to display when the value is invalid or
-     *         <code>null</code>
-     */
-    public String getErrorText();
-
-    /**
-     * Return the filter ids used to group entries into levels such as Expert.
-     * Valid values are defined as constants on this interface.
-     * 
-     * @return the filter ids used to group entries into levels such as Expert.
-     */
-    public String[] getFilters();
-
-    /**
-     * Returns the help context id for this entry, or <code>null</code> if
-     * this entry has no help context id.
-     * <p>
-     * NOTE: Help support system API's changed since 2.0 and arrays of contexts
-     * are no longer supported.
-     * </p>
-     * <p>
-     * Thus the only valid non- <code>null</code> return type for this method
-     * is a <code>String</code> representing a context id. The previously
-     * valid return types are deprecated. The plural name for this method is
-     * unfortunate.
-     * </p>
-     * 
-     * @return the help context id for this entry
-     */
-    public Object getHelpContextIds();
-
-    /**
-     * Returns the image for the property value, if there is one. This image is
-     * managed by the entry it came from. Callers of this method must never
-     * dispose the returned image.
-     * 
-     * @return the image for this property value or <code>null</code>
-     */
-    public Image getImage();
-
-    /**
-     * Returns the value of the objects expressed as a String.
-     * 
-     * @return the value of the objects expressed as a String
-     */
-    public String getValueAsString();
-
-    /**
-     * Returns <code>true</code> if the entry has children.
-     * 
-     * @return <code>true</code> if the entry has children
-     */
-    public boolean hasChildEntries();
-
-    /**
-     * Removes the given listener from this entry's collection of listeners.
-     * 
-     * @param listener
-     *            the listener to remove
-     */
-    public void removePropertySheetEntryListener(
-            IPropertySheetEntryListener listener);
-
-    /**
-     * Resets the property value to its default value if it has been changed.
-     * <p>
-     * Does nothing if the notion of a default value is not meaningful for 
-     * the property.
-     * </p>
-     */
-    void resetPropertyValue();
-
-    /**
-     * Sets the objects which represent the property values for this entry. In
-     * the case of the root entry these objects are the input to the viewer.
-     * 
-     * @param values the values for this entry
-     */
-    public void setValues(Object[] values);
-}
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 05b2d14..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntryListener.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 is 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 f43126a..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetPage.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 0bbf203..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Gunnar Wagenknecht - fix for bug 21756 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=21756)
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-/**
- * Interface to an object which is capable of supplying properties for display
- * by the standard property sheet page implementation (<code>PropertySheetPage</code>).
- * <p>
- * This interface should be implemented by clients.
- * <code>PropertySheetPage</code> discovers the properties to display from
- * currently selected elements. Elements that implement
- * <code>IPropertySource</code> directly are included, as are elements that
- * implement <code>IAdaptable</code> and have an <code>IPropertySource</code>
- * adapter. Clients should implement this interface for any newly-defined
- * elements that are to have properties displayable by
- * <code>PropertySheetPage</code>. Note that in the latter case, the client
- * will also need to register a suitable adapter factory with the platform's
- * adapter manager (<code>Platform.getAdapterManager</code>).
- * </p>
- * 
- * @see org.eclipse.core.runtime.IAdaptable
- * @see org.eclipse.core.runtime.Platform#getAdapterManager()
- * @see org.eclipse.ui.views.properties.PropertySheetPage
- * @see org.eclipse.ui.views.properties.IPropertySource2
- */
-public interface IPropertySource {
-
-	/**
-	 * Returns a value for this property source that can be edited in a property
-	 * sheet.
-	 * <p>
-	 * This value is used when this <code>IPropertySource</code> is appearing
-	 * in the property sheet as the value of a property of some other
-	 * <code>IPropertySource</code>
-	 * </p>
-	 * <p>
-	 * This value is passed as the input to a cell editor opening on an
-	 * <code>IPropertySource</code>.
-	 * </p>
-	 * <p>
-	 * This value is also used when an <code>IPropertySource</code> is being
-	 * used as the value in a <code>setPropertyValue</code> message. The
-	 * reciever of the message would then typically use the editable value to
-	 * update the original property source or construct a new instance.
-	 * </p>
-	 * <p>
-	 * For example an email address which is a property source may have an
-	 * editable value which is a string so that it can be edited in a text cell
-	 * editor. The email address would also have a constructor or setter that
-	 * takes the edited string so that an appropriate instance can be created or
-	 * the original instance modified when the edited value is set.
-	 * </p>
-	 * <p>
-	 * This behavior is important for another reason. When the property sheet is
-	 * showing properties for more than one object (multiple selection), a
-	 * property sheet entry will display and edit a single value (typically
-	 * coming from the first selected object). After a property has been edited
-	 * in a cell editor, the same value is set as the property value for all of
-	 * the objects. This is fine for primitive types but otherwise all of the
-	 * objects end up with a reference to the same value. Thus by creating an
-	 * editable value and using it to update the state of the original property
-	 * source object, one is able to edit several property source objects at
-	 * once (multiple selection).
-	 * 
-	 * @return a value that can be edited
-	 */
-	public Object getEditableValue();
-
-	/**
-	 * Returns the list of property descriptors for this property source. The
-	 * <code>getPropertyValue</code> and <code>setPropertyValue</code>
-	 * methods are used to read and write the actual property values by
-	 * specifying the property ids from these property descriptors.
-	 * <p>
-	 * Implementors should cache the descriptors as they will be asked for the
-	 * descriptors with any edit/update. Since descriptors provide cell editors,
-	 * returning the same descriptors if possible allows for efficient updating.
-	 * </p>
-	 * 
-	 * @return the property descriptors
-	 */
-	public IPropertyDescriptor[] getPropertyDescriptors();
-
-	/**
-	 * Returns the value of the property with the given id if it has one.
-	 * Returns <code>null</code> if the property's value is <code>null</code>
-	 * value or if this source does not have the specified property.
-	 * 
-	 * @see #setPropertyValue
-	 * @param id
-	 *            the id of the property being set
-	 * @return the value of the property, or <code>null</code>
-	 */
-	public Object getPropertyValue(Object id);
-
-	/**
-	 * Returns whether the value of the property with the given id has changed
-	 * from its default value. Returns <code>false</code> if this source does
-	 * not have the specified property.
-	 * <p>
-	 * If the notion of default value is not meaningful for the specified
-	 * property then <code>false</code> is returned.
-	 * </p>
-	 * 
-	 * @param id
-	 *            the id of the property
-	 * @return <code>true</code> if the value of the specified property has
-	 *         changed from its original default value, <code>false</code> if
-	 *         the specified property does not have a meaningful default value,
-	 *         and <code>false</code> if this source does not have the
-	 *         specified property
-	 * @see IPropertySource2#isPropertyResettable(Object)
-	 * @see #resetPropertyValue(Object)
-	 */
-	public boolean isPropertySet(Object id);
-
-	/**
-	 * Resets the property with the given id to its default value if possible.
-	 * <p>
-	 * Does nothing if the notion of a default value is not meaningful for the
-	 * specified property, or if the property's value cannot be changed, or if
-	 * this source does not have the specified property.
-	 * </p>
-	 * <p>
-	 * Callers will check if this <code>IPropertySource</code> implements
-	 * <code>IPropertySource2</code> and this method will only be called if
-	 * <code>IPropertySource2#isPropertyResettable(Object)</code> returns
-	 * <code>true</code> for the property with the given id.
-	 * </p>
-	 * 
-	 * @param id
-	 *            the id of the property being reset
-	 * @see #isPropertySet(Object)
-	 * @see IPropertySource2#isPropertyResettable(Object)
-	 */
-	public void resetPropertyValue(Object id);
-
-	/**
-	 * Sets the property with the given id if possible. Does nothing if the
-	 * property's value cannot be changed or if this source does not have the
-	 * specified property.
-	 * <p>
-	 * In general, a property source should not directly reference the value
-	 * parameter unless it is an atomic object that can be shared, such as a
-	 * string.
-	 * </p>
-	 * <p>
-	 * An important reason for this is that several property sources with
-	 * compatible descriptors could be appearing in the property sheet at the
-	 * same time. An editor produces a single edited value which is passed as
-	 * the value parameter of this message to all the property sources. Thus to
-	 * avoid a situation where all of the property sources reference the same
-	 * value they should use the value parameter to create a new instance of the
-	 * real value for the given property.
-	 * </p>
-	 * <p>
-	 * There is another reason why a level of indirection is useful. The real
-	 * value of property may be a type that cannot be edited with a standard
-	 * cell editor. However instead of returning the real value in
-	 * <code>getPropertyValue</code>, the value could be converted to a
-	 * <code>String</code> which could be edited with a standard cell editor.
-	 * The edited value will be passed to this method which can then turn it
-	 * back into the real property value.
-	 * </p>
-	 * <p>
-	 * Another variation on returning a value other than the real property value
-	 * in <code>getPropertyValue</code> is to return a value which is an
-	 * <code>IPropertySource</code> (or for which the property sheet can
-	 * obtain an <code>IPropertySource</code>). In this case the value to
-	 * edit is obtained from the child property source using
-	 * <code>getEditableValue</code>. It is this editable value that will be
-	 * passed back via this method when it has been editted
-	 * </p>
-	 * 
-	 * @see #getPropertyValue
-	 * @see #getEditableValue
-	 * @param id
-	 *            the id of the property being set
-	 * @param value
-	 *            the new value for the property; <code>null</code> is allowed
-	 */
-	public void setPropertyValue(Object id, Object value);
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource2.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource2.java
deleted file mode 100644
index ca973ae..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource2.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Gunnar Wagenknecht - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-/**
- * Extension to the standard <code>IPropertySource</code> interface.
- * <p>
- * This interface provides extended API to <code>IPropertySource</code> to
- * allow an easier indication of properties that have a default value and can be
- * resetted.
- * </p>
- * 
- * @since 3.0
- * @see org.eclipse.ui.views.properties.IPropertySource
- */
-public interface IPropertySource2 extends IPropertySource {
-
-    /**
-     * Returns whether the value of the property with the specified id is
-     * resettable to a default value.
-     * 
-     * @param id
-     *            the id of the property
-     * @return <code>true</code> if the property with the specified id has a
-     *         meaningful default value to which it can be resetted, and
-     *         <code>false</code> otherwise
-     * @see IPropertySource#resetPropertyValue(Object)
-     * @see IPropertySource#isPropertySet(Object)
-     */
-    boolean isPropertyResettable(Object id);
-
-    /**
-     * <code>IPropertySource2</code> overrides the specification of this <code>IPropertySource</code> 
-     * method to return <code>true</code> instead of <code>false</code> if the specified 
-     * property does not have a meaningful default value.
-     * <code>isPropertyResettable</code> will only be called if <code>isPropertySet</code> returns
-     * <code>true</code>.
-     * <p> 
-     * Returns whether the value of the property with the given id has changed
-     * from its default value. Returns <code>false</code> if this source does
-     * not have the specified property.
-     * </p>
-     * <p>
-     * If the notion of default value is not meaningful for the specified
-     * property then <code>true</code> is returned.
-     * </p>
-     * 
-     * @param id
-     *            the id of the property
-     * @return <code>true</code> if the value of the specified property has
-     *         changed from its original default value, <code>true</code> if
-     *         the specified property does not have a meaningful default value,
-     *         and <code>false</code> if this source does not have the
-     *         specified property
-     * @see IPropertySource2#isPropertyResettable(Object)
-     * @see #resetPropertyValue(Object)
-     * @since 3.1
-     */
-    public boolean isPropertySet(Object id);
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySourceProvider.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySourceProvider.java
deleted file mode 100644
index 9b79b13..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySourceProvider.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-/**
- * Interface used by {@link org.eclipse.ui.views.properties.PropertySheetEntry}
- * to obtain an {@link org.eclipse.ui.views.properties.IPropertySource} 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
-	 * @return the property source for the object passed in (maybe
-	 *         <code>null</code>)
-	 */
-	public IPropertySource getPropertySource(Object object);
-}
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 63a5b77..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertyDescriptor.java
+++ /dev/null
@@ -1,365 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellEditorValidator;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-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 contextIds the help context ids, 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 provider 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 4858162..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheet.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.ISaveablePart;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.internal.views.ViewsPlugin;
-import org.eclipse.ui.part.IContributedContentsView;
-import org.eclipse.ui.part.IPage;
-import org.eclipse.ui.part.IPageBookViewPage;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.ui.part.PageBookView;
-
-/**
- * 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);
-        getSite().getPage().getWorkbenchWindow().getWorkbench().getHelpSystem()
-				.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) ViewsPlugin.getAdapter(part,
-                IPropertySheetPage.class, false);
-        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();
-        } 
-        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) {
-    	// Look for a declaratively-contributed adapter - including not yet loaded adapter factories.
-    	// See bug 86362 [PropertiesView] Can not access AdapterFactory, when plugin is not loaded.
-        IContributedContentsView view = (IContributedContentsView) ViewsPlugin.getAdapter(part,
-                IContributedContentsView.class, true);
-        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);
-		}
-    }
-    
-    /**
-	 * The <code>PropertySheet</code> implementation of this
-	 * <code>PageBookView</code> method handles the <code>ISaveablePart</code>
-	 * adapter case by calling <code>getSaveablePart()</code>.
-	 * 
-	 * @since 3.2
-	 */
-	protected Object getViewAdapter(Class key) {
-		if (ISaveablePart.class.equals(key)) {
-			return getSaveablePart();
-		}
-		return super.getViewAdapter(key);
-	}
-
-	/**
-	 * Returns an <code>ISaveablePart</code> that delegates to the source part
-	 * for the current page if it implements <code>ISaveablePart</code>, or
-	 * <code>null</code> otherwise.
-	 * 
-	 * @return an <code>ISaveablePart</code> or <code>null</code>
-	 * @since 3.2
-	 */
-	protected ISaveablePart getSaveablePart() {
-		IWorkbenchPart part = getCurrentContributingPart();
-		if (part instanceof ISaveablePart) {
-			return (ISaveablePart) part;
-		}
-		return null;
-	}
-}
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 1080de4..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetAction.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 1d1bff9..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetCategory.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 c95bfd5..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetEntry.java
+++ /dev/null
@@ -1,791 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Gunnar Wagenknecht - fix for bug 21756 [PropertiesView] property view sorting
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.commands.common.EventManager;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellEditorListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.internal.views.ViewsPlugin;
-
-/**
- * <code>PropertySheetEntry</code> is an implementation of
- * <code>IPropertySheetEntry</code> which uses <code>IPropertySource</code>
- * and <code>IPropertyDescriptor</code> to interact with domain model objects.
- * <p>
- * Every property sheet entry has a single descriptor (except the root entry
- * which has none). This descriptor determines what property of its objects it
- * will display/edit.
- * </p>
- * <p>
- * Entries do not listen for changes in their objects. Since there is no
- * restriction on properties being independent, a change in one property may
- * affect other properties. The value of a parent's property may also change. As
- * a result we are forced to refresh the entire entry tree when a property
- * changes value.
- * </p>
- * 
- * @since 3.0 (was previously internal)
- */
-public class PropertySheetEntry extends EventManager 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;
-
-	/**
-	 * 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) {
-		addListenerObject(listener);
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IPropertySheetEntry.
-	 */
-	public void applyEditorValue() {
-		if (editor == null) {
-			return;
-		}
-
-		// Check if editor has a valid value
-		if (!editor.isValueValid()) {
-			setErrorText(editor.getErrorMessage());
-			return;
-		}
-
-		setErrorText(null);
-
-		// See if the value changed and if so update
-		Object newValue = editor.getValue();
-		boolean changed = false;
-		if (values.length > 1) {
-			changed = true;
-		} else if (editValue == null) {
-			if (newValue != null) {
-				changed = true;
-			}
-		} else if (!editValue.equals(newValue)) {
-			changed = true;
-		}
-
-		// Set the editor value
-		if (changed) {
-			setValue(newValue);
-		}
-	}
-
-	/**
-	 * Return the unsorted intersection of all the
-	 * <code>IPropertyDescriptor</code>s for the objects.
-	 * 
-	 * @return List
-	 */
-	private List computeMergedPropertyDescriptors() {
-		if (values.length == 0) {
-			return new ArrayList(0);
-		}
-
-		IPropertySource firstSource = getPropertySource(values[0]);
-		if (firstSource == null) {
-			return new ArrayList(0);
-		}
-
-		if (values.length == 1) {
-			return Arrays.asList(firstSource.getPropertyDescriptors());
-		}
-
-		// 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]);
-				}
-			}
-		}
-
-		// sorting is handled in the PropertySheetViewer, return unsorted (in
-		// the original order)
-		ArrayList result = new ArrayList(intersection.size());
-		IPropertyDescriptor[] firstDescs = firstSource.getPropertyDescriptors();
-		for (int i = 0; i < firstDescs.length; i++) {
-			IPropertyDescriptor desc = firstDescs[i];
-			if (intersection.containsKey(desc.getId())) {
-				result.add(desc);
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Returns an map of property descritptors (keyed on id) for the given
-	 * property source.
-	 * 
-	 * @param source
-	 *            a property source for which to obtain descriptors
-	 * @return a table of decriptors keyed on their id
-	 */
-	private Map computePropertyDescriptorsFor(IPropertySource source) {
-		IPropertyDescriptor[] descriptors = source.getPropertyDescriptors();
-		Map result = new HashMap(descriptors.length * 2 + 1);
-		for (int i = 0; i < descriptors.length; i++) {
-			result.put(descriptors[i].getId(), descriptors[i]);
-		}
-		return result;
-	}
-
-	/**
-	 * Create our child entries.
-	 */
-	private void createChildEntries() {
-		// get the current descriptors
-		List descriptors = computeMergedPropertyDescriptors();
-
-		// rebuild child entries using old when possible
-		PropertySheetEntry[] newEntries = new PropertySheetEntry[descriptors
-				.size()];
-		for (int i = 0; i < descriptors.size(); i++) {
-			IPropertyDescriptor d = (IPropertyDescriptor) descriptors.get(i);
-			// create new entry
-			PropertySheetEntry entry = createChildEntry();
-			entry.setDescriptor(d);
-			entry.setParent(this);
-			entry.setPropertySourceProvider(propertySourceProvider);
-			entry.refreshValues();
-			newEntries[i] = entry;
-		}
-		// only assign if successful
-		childEntries = newEntries;
-	}
-
-	/**
-	 * Factory method to create a new child <code>PropertySheetEntry</code>
-	 * instance.
-	 * <p>
-	 * Subclasses may overwrite to create new instances of their own class.
-	 * </p>
-	 * 
-	 * @return a new <code>PropertySheetEntry</code> instance for the
-	 *         descriptor passed in
-	 * @since 3.1
-	 */
-	protected PropertySheetEntry createChildEntry() {
-		return new PropertySheetEntry();
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IPropertySheetEntry.
-	 */
-	public void dispose() {
-		if (editor != null) {
-			editor.dispose();
-			editor = null;
-		}
-		// recursive call to dispose children
-		PropertySheetEntry[] entriesToDispose = childEntries;
-		childEntries = null;
-		if (entriesToDispose != null) {
-			for (int i = 0; i < entriesToDispose.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 (entriesToDispose[i] != null) {
-					entriesToDispose[i].dispose();
-				}
-			}
-		}
-	}
-
-	/**
-	 * The child entries of this entry have changed (children added or removed).
-	 * Notify all listeners of the change.
-	 */
-	private void fireChildEntriesChanged() {
-		Object[] array = 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() {
-		Object[] array = 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() {
-		Object[] array = getListeners();
-		for (int i = 0; i < array.length; i++) {
-			IPropertySheetEntryListener listener = (IPropertySheetEntryListener) array[i];
-			listener.valueChanged(this);
-		}
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IPropertySheetEntry.
-	 */
-	public String getCategory() {
-		return descriptor.getCategory();
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IPropertySheetEntry.
-	 */
-	public IPropertySheetEntry[] getChildEntries() {
-		if (childEntries == null) {
-			createChildEntries();
-		}
-		return childEntries;
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IPropertySheetEntry.
-	 */
-	public String getDescription() {
-		return descriptor.getDescription();
-	}
-
-	/**
-	 * Returns the descriptor for this entry.
-	 * 
-	 * @return the descriptor for this entry
-	 * @since 3.1 (was previously private)
-	 */
-	protected IPropertyDescriptor getDescriptor() {
-		return descriptor;
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IPropertySheetEntry.
-	 */
-	public String getDisplayName() {
-		return descriptor.getDisplayName();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.views.properties.IPropertySheetEntry#getEditor(org.eclipse.swt.widgets.Composite)
-	 */
-	public CellEditor getEditor(Composite parent) {
-
-		if (editor == null) {
-			editor = descriptor.createPropertyEditor(parent);
-			if (editor != null) {
-				editor.addListener(cellEditorListener);
-			}
-		}
-		if (editor != null) {
-			editor.setValue(editValue);
-			setErrorText(editor.getErrorMessage());
-		}
-		return editor;
-	}
-
-	/**
-	 * Returns the edit value for the object at the given index.
-	 * 
-	 * @param index
-	 *            the value object index
-	 * @return the edit value for the object at the given index
-	 */
-	protected Object getEditValue(int index) {
-		Object value = values[index];
-		IPropertySource source = getPropertySource(value);
-		if (source != null) {
-			value = source.getEditableValue();
-		}
-		return value;
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IPropertySheetEntry.
-	 */
-	public String getErrorText() {
-		return errorText;
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IPropertySheetEntry.
-	 */
-	public String getFilters()[] {
-		return descriptor.getFilterFlags();
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IPropertySheetEntry.
-	 */
-	public Object getHelpContextIds() {
-		return descriptor.getHelpContextIds();
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IPropertySheetEntry.
-	 */
-	public Image getImage() {
-		ILabelProvider provider = descriptor.getLabelProvider();
-		if (provider == null) {
-			return null;
-		}
-		return provider.getImage(editValue);
-	}
-
-	/**
-	 * Returns the parent of this entry.
-	 * 
-	 * @return the parent entry, or <code>null</code> if it has no parent
-	 * @since 3.1
-	 */
-	protected PropertySheetEntry getParent() {
-		return parent;
-	}
-
-	/**
-	 * Returns an property source for the given object.
-	 * 
-	 * @param object
-	 *            an object for which to obtain a property source or
-	 *            <code>null</code> if a property source is not available
-	 * @return an property source for the given object
-	 * @since 3.1 (was previously private)
-	 */
-	protected IPropertySource getPropertySource(Object object) {
-		if (sources.containsKey(object))
-			return (IPropertySource) sources.get(object);
-
-		IPropertySource result = null;
-		IPropertySourceProvider provider = propertySourceProvider;
-
-		if (provider == null && object != null) {
-			provider = (IPropertySourceProvider) ViewsPlugin.getAdapter(object, 
-                    IPropertySourceProvider.class, false);
-        }
-
-		if (provider != null) {
-			result = provider.getPropertySource(object);
-		} else {
-            result = (IPropertySource)ViewsPlugin.getAdapter(object, IPropertySource.class, false);
-        }
-
-		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();
-		}
-		String text = provider.getText(editValue);
-		if (text == null) {
-			return "";//$NON-NLS-1$
-		}
-		return text;
-	}
-
-	/**
-	 * Returns the value objects of this entry.
-	 * 
-	 * @return the value objects of this entry
-	 * @since 3.1 (was previously private)
-	 */
-	public Object[] getValues() {
-		return values;
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IPropertySheetEntry.
-	 */
-	public boolean hasChildEntries() {
-		if (childEntries != null && childEntries.length > 0) {
-			return true;
-		}
-		// see if we could have entires if we were asked
-		return computeMergedPropertyDescriptors().size() > 0;
-	}
-
-	/**
-	 * Update our child entries. This implementation tries to reuse child
-	 * entries if possible (if the id of the new descriptor matches the
-	 * descriptor id of the old entry).
-	 */
-	private void refreshChildEntries() {
-		if (childEntries == null) {
-			// no children to refresh
-			return;
-		}
-
-		// get the current descriptors
-		List descriptors = computeMergedPropertyDescriptors();
-
-		// cache old entries by their descriptor id
-		Map entryCache = new HashMap(childEntries.length * 2 + 1);
-		for (int i = 0; i < childEntries.length; i++) {
-			PropertySheetEntry childEntry = childEntries[i];
-			if (childEntry != null) {
-				entryCache.put(childEntry.getDescriptor().getId(), childEntry);
-			}
-		}
-
-		// create a list of entries to dispose
-		List entriesToDispose = new ArrayList(Arrays.asList(childEntries));
-
-		// clear the old entries
-		this.childEntries = null;
-
-		// rebuild child entries using old when possible
-		PropertySheetEntry[] newEntries = 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 = createChildEntry();
-				entry.setDescriptor(d);
-				entry.setParent(this);
-				entry.setPropertySourceProvider(propertySourceProvider);
-				entriesChanged = true;
-			}
-			entry.refreshValues();
-			newEntries[i] = entry;
-		}
-
-		// only assign if successful
-		this.childEntries = newEntries;
-
-		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.
-	 * 
-	 * @since 3.1 (was previously private)
-	 */
-	protected void refreshFromRoot() {
-		if (parent == null) {
-			refreshChildEntries();
-		} else {
-			parent.refreshFromRoot();
-		}
-	}
-
-	/**
-	 * Update our value objects. We ask our parent for the property values based
-	 * on our descriptor.
-	 */
-	private void refreshValues() {
-		// get our parent's value objects
-		Object[] currentSources = parent.getValues();
-
-		// loop through the objects getting our property value from each
-		Object[] newValues = new Object[currentSources.length];
-		for (int i = 0; i < currentSources.length; i++) {
-			IPropertySource source = parent
-					.getPropertySource(currentSources[i]);
-			newValues[i] = source.getPropertyValue(descriptor.getId());
-		}
-
-		// set our new values
-		setValues(newValues);
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IPropertySheetEntry.
-	 */
-	public void removePropertySheetEntryListener(
-			IPropertySheetEntryListener listener) {
-		removeListenerObject(listener);
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IPropertySheetEntry.
-	 */
-	public void resetPropertyValue() {
-		if (parent == null) {
-			// root does not have a default value
-			return;
-		}
-
-		// Use our parent's values to reset our values.
-		boolean change = false;
-		Object[] objects = parent.getValues();
-		for (int i = 0; i < objects.length; i++) {
-			IPropertySource source = getPropertySource(objects[i]);
-			if (source.isPropertySet(descriptor.getId())) {
-				// fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=21756
-				if (source instanceof IPropertySource2) {
-					IPropertySource2 extendedSource = (IPropertySource2) source;
-					// continue with next if property is not resettable
-					if (!extendedSource
-							.isPropertyResettable(descriptor.getId())) {
-						continue;
-					}
-				}
-				source.resetPropertyValue(descriptor.getId());
-				change = true;
-			}
-		}
-		if (change) {
-			refreshFromRoot();
-		}
-	}
-
-	/**
-	 * Set the descriptor.
-	 * 
-	 * @param newDescriptor
-	 */
-	private void setDescriptor(IPropertyDescriptor newDescriptor) {
-		// if our descriptor is changing, we have to get rid
-		// of our current editor if there is one
-		if (descriptor != newDescriptor && editor != null) {
-			editor.dispose();
-			editor = null;
-		}
-		descriptor = newDescriptor;
-	}
-
-	/**
-	 * Set the error text. This should be set to null when the current value is
-	 * valid, otherwise it should be set to a error string
-	 */
-	private void setErrorText(String newErrorText) {
-		errorText = newErrorText;
-		// inform listeners
-		fireErrorMessageChanged();
-	}
-
-	/**
-	 * Sets the parent of the entry to be propertySheetEntry.
-	 * 
-	 * @param propertySheetEntry
-	 */
-	private void setParent(PropertySheetEntry propertySheetEntry) {
-		parent = propertySheetEntry;
-	}
-
-	/**
-	 * Sets a property source provider for this entry. This provider is used to
-	 * obtain an <code>IPropertySource</code> for each of this entries
-	 * objects. If no provider is set then a default provider is used.
-	 * 
-	 * @param provider
-	 *            IPropertySourceProvider
-	 */
-	public void setPropertySourceProvider(IPropertySourceProvider provider) {
-		propertySourceProvider = provider;
-	}
-
-	/**
-	 * Set the value for this entry.
-	 * <p>
-	 * We set the given value as the value for all our value objects. We then
-	 * call our parent to update the property we represent with the given value.
-	 * We then trigger a model refresh.
-	 * <p>
-	 * 
-	 * @param newValue
-	 *            the new value
-	 */
-	private void setValue(Object newValue) {
-		// Set the value
-		for (int i = 0; i < values.length; i++) {
-			values[i] = newValue;
-		}
-
-		// Inform our parent
-		parent.valueChanged(this);
-
-		// Refresh the model
-		refreshFromRoot();
-	}
-
-	/**
-	 * The <code>PropertySheetEntry</code> implmentation of this method
-	 * declared on<code>IPropertySheetEntry</code> will obtain an editable
-	 * value for the given objects and update the child entries.
-	 * <p>
-	 * Updating the child entries will typically call this method on the child
-	 * entries and thus the entire entry tree is updated
-	 * </p>
-	 * 
-	 * @param objects
-	 *            the new values for this entry
-	 */
-	public void setValues(Object[] objects) {
-		values = objects;
-		sources = new HashMap(values.length * 2 + 1);
-
-		if (values.length == 0) {
-			editValue = null;
-		} else {
-			// set the first value object as the entry's value
-			Object newValue = values[0];
-
-			// see if we should convert the value to an editable value
-			IPropertySource source = getPropertySource(newValue);
-			if (source != null) {
-				newValue = source.getEditableValue();
-			}
-			editValue = newValue;
-		}
-
-		// update our child entries
-		refreshChildEntries();
-
-		// inform listeners that our value changed
-		fireValueChanged();
-	}
-
-	/**
-	 * The value of the given child entry has changed. Therefore we must set
-	 * this change into our value objects.
-	 * <p>
-	 * We must inform our parent so that it can update its value objects
-	 * </p>
-	 * <p>
-	 * Subclasses may override to set the property value in some custom way.
-	 * </p>
-	 * 
-	 * @param child
-	 *            the child entry that changed its value
-	 */
-	protected void valueChanged(PropertySheetEntry child) {
-		for (int i = 0; i < values.length; i++) {
-			IPropertySource source = getPropertySource(values[i]);
-			source.setPropertyValue(child.getDescriptor().getId(), child
-					.getEditValue(i));
-		}
-
-		// inform our parent
-		if (parent != null) {
-			parent.valueChanged(this);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetPage.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetPage.java
deleted file mode 100644
index 65ba608..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetPage.java
+++ /dev/null
@@ -1,556 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Gunnar Wagenknecht - fix for bug 21756 [PropertiesView] property view sorting
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.core.runtime.IAdaptable;
-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.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.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.IPartListener;
-import org.eclipse.ui.ISaveablePart;
-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.IWorkbenchHelpSystem;
-import org.eclipse.ui.internal.views.ViewsPlugin;
-import org.eclipse.ui.internal.views.properties.PropertiesMessages;
-import org.eclipse.ui.part.CellEditorActionHandler;
-import org.eclipse.ui.part.Page;
-
-/**
- * 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 properties to 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 selection. 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, IAdaptable {
-    /**
-     * 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 PropertySheetSorter sorter;
-
-    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;
-
-	private IWorkbenchPart sourcePart;
-
-	/**
-	 * Part listener which cleans up this page when the source part is closed.
-	 * This is hooked only when there is a source part.
-	 *  
-	 * @since 3.2
-	 */
-	private class PartListener implements IPartListener {
-		public void partActivated(IWorkbenchPart part) {
-		}
-
-		public void partBroughtToTop(IWorkbenchPart part) {
-		}
-
-		public void partClosed(IWorkbenchPart part) {
-			if (sourcePart == part) {
-				sourcePart = null;
-				if (viewer != null && !viewer.getControl().isDisposed()) {
-					viewer.setInput(new Object[0]);
-				}
-			}
-		}
-
-		public void partDeactivated(IWorkbenchPart part) {
-		}
-
-		public void partOpened(IWorkbenchPart part) {
-		}
-	}
-	
-	private PartListener partListener = new PartListener();
-	
-    /**
-     * 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);
-        viewer.setSorter(sorter);
-        
-        // set the model for the viewer
-        if (rootEntry == null) {
-            // create a new root
-            PropertySheetEntry root = new PropertySheetEntry();
-            if (provider != null) {
-				// set the property source provider
-                root.setPropertySourceProvider(provider);
-			}
-            rootEntry = root;
-        }
-        viewer.setRootEntry(rootEntry);
-        viewer.addActivationListener(getCellEditorActivationListener());
-        // add a listener to track when the entry selection changes
-        viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                handleEntrySelection(event.getSelection());
-            }
-        });
-        initDragAndDrop();
-        makeActions();
-
-        // Create the popup menu for the page.
-        MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
-        menuMgr.add(copyAction);
-        menuMgr.add(new Separator());
-        menuMgr.add(defaultsAction);
-        Menu menu = menuMgr.createContextMenu(viewer.getControl());
-        viewer.getControl().setMenu(menu);
-
-        // Set help on the viewer 
-        viewer.getControl().addHelpListener(new HelpListener() {
-            /*
-             * @see HelpListener#helpRequested(HelpEvent)
-             */
-            public void helpRequested(HelpEvent e) {
-                // Get the context for the selected item
-                IStructuredSelection selection = (IStructuredSelection) viewer
-                        .getSelection();
-                if (!selection.isEmpty()) {
-                    IPropertySheetEntry entry = (IPropertySheetEntry) selection
-                            .getFirstElement();
-                    Object helpContextId = entry.getHelpContextIds();
-                    if (helpContextId != null) {
-                        if (helpContextId instanceof String) {
-                            PlatformUI.getWorkbench()
-									.getHelpSystem().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;
-                        }
-                        IWorkbenchHelpSystem help = PlatformUI.getWorkbench().getHelpSystem();
-                        // Ignore all but the first element in the array
-                        if (contexts[0] instanceof IContext) {
-							help.displayHelp((IContext) contexts[0]);
-						} else {
-							help.displayHelp((String) contexts[0]);
-						}
-                        return;
-                    }
-                }
-
-                // No help for the selection so show page help
-                PlatformUI.getWorkbench().getHelpSystem().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 (sourcePart != null) {
-        	sourcePart.getSite().getPage().removePartListener(partListener);
-        }        
-        if (rootEntry != null) {
-            rootEntry.dispose();
-            rootEntry = null;
-        }
-        if (clipboard != null) {
-            clipboard.dispose();
-            clipboard = null;
-        }
-    }
-
-    /**
-     * The <code>PropertySheetPage</code> implementation of this <code>IAdaptable</code> method
-     * handles the <code>ISaveablePart</code> adapter by delegating to the source part.
-     * 
-     * @since 3.2
-     */
-    public Object getAdapter(Class adapter) {
-		if (ISaveablePart.class.equals(adapter)) {
-			return getSaveablePart();
-		}
-    	return null;
-    }
-    
-	/**
-	 * Returns an <code>ISaveablePart</code> that delegates to the source part
-	 * for the current page if it implements <code>ISaveablePart</code>, or
-	 * <code>null</code> otherwise.
-	 * 
-	 * @return an <code>ISaveablePart</code> or <code>null</code>
-	 * @since 3.2
-	 */
-	protected ISaveablePart getSaveablePart() {
-		if (sourcePart instanceof ISaveablePart) {
-			return (ISaveablePart) sourcePart;
-		}
-		return null;
-	}
-    
-    /**
-     * Returns the cell editor activation listener for this page
-     * @return ICellEditorActivationListener the cell editor activation listener for this page
-     */
-    private ICellEditorActivationListener getCellEditorActivationListener() {
-        if (cellEditorActivationListener == null) {
-            cellEditorActivationListener = new ICellEditorActivationListener() {
-                public void cellEditorActivated(CellEditor cellEditor) {
-                    if (cellEditorActionHandler != null) {
-						cellEditorActionHandler.addCellEditor(cellEditor);
-					}
-                }
-
-                public void cellEditorDeactivated(CellEditor cellEditor) {
-                    if (cellEditorActionHandler != null) {
-						cellEditorActionHandler.removeCellEditor(cellEditor);
-					}
-                }
-            };
-        }
-        return cellEditorActivationListener;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPage (and Page).
-     */
-    public Control getControl() {
-        if (viewer == null) {
-			return null;
-		}
-        return viewer.getControl();
-    }
-
-    /**
-     * Handles a selection change in the entry table.
-     *
-     * @param selection the new selection
-     */
-    public void handleEntrySelection(ISelection selection) {
-        if (defaultsAction != null) {
-            if (selection.isEmpty()) {
-                defaultsAction.setEnabled(false);
-                return;
-            }
-            // see if item is editable
-            boolean editable = viewer.getActiveCellEditor() != null;
-            defaultsAction.setEnabled(editable);
-        }
-    }
-
-    /**
-     * Adds drag and drop support.
-     */
-    protected void initDragAndDrop() {
-        int operations = DND.DROP_COPY;
-        Transfer[] transferTypes = new Transfer[] { TextTransfer.getInstance() };
-        DragSourceListener listener = new DragSourceAdapter() {
-            public void dragSetData(DragSourceEvent event) {
-                performDragSetData(event);
-            }
-
-            public void dragFinished(DragSourceEvent event) {
-                //Nothing to do here
-            }
-        };
-        DragSource dragSource = new DragSource(
-                viewer.getControl(), operations);
-        dragSource.setTransfer(transferTypes);
-        dragSource.addDragListener(listener);
-    }
-
-    /**
-     * The user is attempting to drag.  Add the appropriate
-     * data to the event.
-     * @param event The event sent from the drag and drop support.
-     */
-    void performDragSetData(DragSourceEvent event) {
-        // Get the selected property
-        IStructuredSelection selection = (IStructuredSelection) viewer
-                .getSelection();
-        if (selection.isEmpty()) {
-			return;
-		}
-        // Assume single selection
-        IPropertySheetEntry entry = (IPropertySheetEntry) selection
-                .getFirstElement();
-
-        // Place text as the data
-        StringBuffer buffer = new StringBuffer();
-        buffer.append(entry.getDisplayName());
-        buffer.append("\t"); //$NON-NLS-1$
-        buffer.append(entry.getValueAsString());
-
-        event.data = buffer.toString();
-    }
-
-    /**
-     * Make action objects.
-     */
-    private void makeActions() {
-        ISharedImages sharedImages = PlatformUI.getWorkbench()
-                .getSharedImages();
-
-        // Restore Default Value
-        defaultsAction = new DefaultsAction(viewer, "defaults"); //$NON-NLS-1$
-        defaultsAction.setText(PropertiesMessages.Defaults_text);
-        defaultsAction.setToolTipText(PropertiesMessages.Defaults_toolTip);
-        defaultsAction
-                .setImageDescriptor(ViewsPlugin.getViewImageDescriptor("elcl16/defaults_ps.gif")); //$NON-NLS-1$
-        defaultsAction
-                .setDisabledImageDescriptor(ViewsPlugin.getViewImageDescriptor("dlcl16/defaults_ps.gif")); //$NON-NLS-1$
-        defaultsAction.setEnabled(false);
-
-        // Show Advanced Properties
-        filterAction = new FilterAction(viewer, "filter"); //$NON-NLS-1$
-        filterAction.setText(PropertiesMessages.Filter_text);
-        filterAction.setToolTipText(PropertiesMessages.Filter_toolTip);
-        filterAction
-                .setImageDescriptor(ViewsPlugin.getViewImageDescriptor("elcl16/filter_ps.gif")); //$NON-NLS-1$
-        filterAction.setChecked(false);
-
-        // Show Categories
-        categoriesAction = new CategoriesAction(viewer, "categories"); //$NON-NLS-1$
-        categoriesAction.setText(PropertiesMessages.Categories_text);
-        categoriesAction.setToolTipText(PropertiesMessages.Categories_toolTip);
-        categoriesAction
-                .setImageDescriptor(ViewsPlugin.getViewImageDescriptor("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.CopyProperty_text);
-        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;
-		}
-
-        if (sourcePart != null) {
-        	sourcePart.getSite().getPage().removePartListener(partListener);
-        	sourcePart = null;
-        }
-        
-        // change the viewer input since the workbench selection has changed.
-        if (selection instanceof IStructuredSelection) {
-        	sourcePart = part;
-            viewer.setInput(((IStructuredSelection) selection).toArray());
-        }
-
-        if (sourcePart != null) {
-        	sourcePart.getSite().getPage().addPartListener(partListener);
-        }
-    }
-
-    /**
-     * 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);
-		}
-    }
-
-    /**
-	 * Sets the sorter used for sorting categories and entries in the viewer
-	 * of this page.
-	 * <p>
-	 * The default sorter sorts categories and entries alphabetically. 
-	 * </p>
-	 * @param sorter the sorter to set (<code>null</code> will reset to the
-	 * default sorter)
-     * @since 3.1
-	 */
-	protected void setSorter(PropertySheetSorter sorter) {
-		this.sorter = sorter;
-        if (viewer != null) {
-        	viewer.setSorter(sorter);
-        	
-        	// the following will trigger an update
-        	if(null != viewer.getRootEntry()) {
-				viewer.setRootEntry(rootEntry);
-			}
-        }
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetSorter.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetSorter.java
deleted file mode 100644
index 336c9e1..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetSorter.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Gunnar Wagenknecht and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Gunnar Wagenknecht - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import java.text.Collator; // can't use ICU, in public API
-import java.util.Arrays;
-import java.util.Comparator;
-
-/**
- * Class used by {@link org.eclipse.ui.views.properties.PropertySheetPage} to
- * sort properties.
- * <p>
- * The default implementation sorts alphabetically. Subclasses may overwrite to
- * implement custom sorting.
- * </p>
- *
- * @since 3.1
- */
-public class PropertySheetSorter  {
-
-	/**
-	 * The collator used to sort strings.
-	 */
-	private Collator collator;
-
-	/**
-	 * Creates a new sorter, which uses the default collator to sort strings.
-	 */
-	public PropertySheetSorter() {
-		this(Collator.getInstance());
-	}
-
-	/**
-	 * Creates a new sorter, which uses the given collator to sort strings.
-	 * 
-	 * @param collator
-	 *            the collator to use to sort strings
-	 */
-	public PropertySheetSorter(Collator collator) {
-		this.collator = collator;
-	}
-
-	/**
-	 * 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 uses the collator to
-	 * compare the display names. Subclasses may override.
-	 * </p>
-	 * 
-	 * @param entryA
-	 *            the first element
-	 * @param entryB
-	 *            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(IPropertySheetEntry entryA, IPropertySheetEntry entryB) {
-		return getCollator().compare(entryA.getDisplayName(),
-				entryB.getDisplayName());
-	}
-
-	/**
-	 * 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 uses the collator to
-	 * compare the strings. Subclasses may override.
-	 * </p>
-	 * 
-	 * @param categoryA
-	 *            the first element
-	 * @param categoryB
-	 *            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 compareCategories(String categoryA, String categoryB) {
-		return getCollator().compare(categoryA, categoryB);
-	}
-
-	/**
-	 * Returns the collator used to sort strings.
-	 * 
-	 * @return the collator used to sort strings
-	 */
-	protected Collator getCollator() {
-		return collator;
-	}
-
-	/**
-	 * Sorts the given elements in-place, modifying the given array.
-	 * <p>
-	 * The default implementation of this method uses the java.util.Arrays#sort
-	 * 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 entries
-	 *            the elements to sort
-	 */
-	public void sort(IPropertySheetEntry[] entries) {
-		Arrays.sort(entries, new Comparator() {
-			public int compare(Object a, Object b) {
-				return PropertySheetSorter.this.compare(
-						(IPropertySheetEntry) a, (IPropertySheetEntry) b);
-			}
-		});
-	}
-
-	/**
-	 * Sorts the given categories in-place, modifying the given array.
-	 * 
-	 * @param categories
-	 *            the categories to sort
-	 */
-	void sort(PropertySheetCategory[] categories) {
-		Arrays.sort(categories, new Comparator() {
-			public int compare(Object a, Object b) {
-				return PropertySheetSorter.this.compareCategories(
-						((PropertySheetCategory) a).getCategoryName(),
-						((PropertySheetCategory) b).getCategoryName());
-			}
-		});
-	}
-}
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 84e711e..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetViewer.java
+++ /dev/null
@@ -1,1350 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Gunnar Wagenknecht - fix for bug 21756 [PropertiesView] property view sorting
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.viewers.CellEditor;
-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.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TreeEditor;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-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.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.internal.views.properties.PropertiesMessages;
-
-/**
- * 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 Tree tree;
-
-    private TreeEditor treeEditor;
-
-    private static String[] columnLabels = {
-            PropertiesMessages.PropertyViewer_property, PropertiesMessages.PropertyViewer_value };
-
-    private static String MISCELLANEOUS_CATEGORY_NAME = PropertiesMessages.PropertyViewer_misc;
-
-    // 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();
-    
-    // the property sheet sorter
-    private PropertySheetSorter sorter = new PropertySheetSorter();
-
-    /**
-     * Creates a property sheet viewer on a newly-created tree control
-     * under the given parent. The viewer has no input, and no root entry.
-     * 
-     * @param parent
-     *            the parent control
-     */
-    public PropertySheetViewer(Composite parent) {
-        tree = new Tree(parent, SWT.FULL_SELECTION | SWT.SINGLE
-                | SWT.HIDE_SELECTION);
-
-        // configure the widget
-        tree.setLinesVisible(true);
-        tree.setHeaderVisible(true);
-
-        // configure the columns
-        addColumns();
-
-        // add our listeners to the widget
-        hookControl();
-
-        // create a new tree editor
-        treeEditor = new TreeEditor(tree);
-
-        // create the entry and editor listener
-        createEntryListener();
-        createEditorListener();
-    }
-
-    /**
-     * Activate a cell editor for the given selected tree item.
-     * 
-     * @param item
-     *            the selected tree item
-     */
-    private void activateCellEditor(TreeItem item) {
-        // ensure the cell editor is visible
-        tree.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 Tree control
-        cellEditor = activeEntry.getEditor(tree);
-
-        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 tree editor to match the cell editor
-        CellEditor.LayoutData layout = cellEditor.getLayoutData();
-        treeEditor.horizontalAlignment = layout.horizontalAlignment;
-        treeEditor.grabHorizontal = layout.grabHorizontal;
-        treeEditor.minimumWidth = layout.minimumWidth;
-        treeEditor.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 tree and set up the layout manager accordingly.
-     */
-    private void addColumns() {
-
-        // create the columns
-        TreeColumn[] columns = tree.getColumns();
-        for (int i = 0; i < columnLabels.length; i++) {
-            String string = columnLabels[i];
-            if (string != null) {
-                TreeColumn column;
-                if (i < columns.length) {
-					column = columns[i];
-				} else {
-					column = new TreeColumn(tree, 0);
-				}
-                column.setText(string);
-            }
-        }
-
-        tree.addControlListener(new ControlAdapter() {
-            public void controlResized(ControlEvent e) {
-                Rectangle area = tree.getClientArea();
-                TreeColumn[] columns = tree.getColumns();
-                if (area.width > 0) {
-                    columns[0].setWidth(area.width * 40 / 100);
-                    columns[1].setWidth(area.width - columns[0].getWidth() - 4);
-                    tree.removeControlListener(this);
-                }
-            }
-        });
-
-    }
-
-    /**
-     * Asks the entry currently being edited to apply its current cell editor
-     * value.
-     */
-    private void applyEditorValue() {
-        TreeItem treeItem = treeEditor.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 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 tree.
-     * @param widget TreeItem or Tree to create the children in.
-     */
-    private void createChildren(Widget widget) {
-        // get the current child items
-        TreeItem[] childItems = getChildItems(widget);
-
-        if (childItems.length > 0) {
-            Object data = childItems[0].getData();
-            if (data != null) {
-				// children already there!
-                return;
-			}
-            // remove the dummy
-            childItems[0].dispose();
-        }
-
-        // get the children and create their 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 tree item
-            createItem(children.get(i), widget, i);
-        }
-    }
-
-    /**
-     * Creates a new cell editor listener.
-     */
-    private void createEditorListener() {
-        editorListener = new ICellEditorListener() {
-            public void cancelEditor() {
-                deactivateCellEditor();
-            }
-
-            public void editorValueChanged(boolean oldValidState,
-                    boolean newValidState) {
-                //Do nothing
-            }
-
-            public void applyEditorValue() {
-                //Do nothing
-            }
-        };
-    }
-
-    /**
-     * Creates a new property sheet entry listener.
-     */
-    private void createEntryListener() {
-        entryListener = new IPropertySheetEntryListener() {
-            public void childEntriesChanged(IPropertySheetEntry entry) {
-                // update the children of the given entry
-                if (entry == rootEntry) {
-					updateChildrenOf(entry, tree);
-				} else {
-                    TreeItem item = findItem(entry);
-                    if (item != null) {
-						updateChildrenOf(entry, item);
-					}
-                }
-            }
-
-            public void valueChanged(IPropertySheetEntry entry) {
-                // update the given entry
-                TreeItem item = findItem(entry);
-                if (item != null) {
-					updateEntry(entry, item);
-				}
-            }
-
-            public void errorMessageChanged(IPropertySheetEntry entry) {
-                // update the error message
-                setErrorMessage(entry.getErrorText());
-            }
-        };
-    }
-
-    /**
-     * Creates a new tree item, sets the given entry or category (node)in
-     * its user data field, and adds a listener to the node if it is an entry.
-     * 
-     * @param node
-     *            the entry or category associated with this item
-     * @param parent
-     *            the parent widget
-     * @param index
-     *            indicates the position to insert the item into its parent
-     */
-    private void createItem(Object node, Widget parent, int index) {
-        // create the item
-        TreeItem item;
-        if (parent instanceof TreeItem) {
-			item = new TreeItem((TreeItem) parent, SWT.NONE, index);
-		} else {
-			item = new TreeItem((Tree) parent, SWT.NONE, index);
-		}
-
-        // set the user data field
-        item.setData(node);
-
-        // add our listener
-        if (node instanceof IPropertySheetEntry) {
-			((IPropertySheetEntry) node)
-                    .addPropertySheetEntryListener(entryListener);
-		}
-
-        // update the visual presentation
-        if (node instanceof IPropertySheetEntry) {
-			updateEntry((IPropertySheetEntry) node, item);
-		} else {
-			updateCategory((PropertySheetCategory) node, item);
-		}
-    }
-
-    /**
-     * Deactivate the currently active cell editor.
-     */
-    /* package */
-    void deactivateCellEditor() {
-        treeEditor.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 tree to all registered
-     * listeners.
-     */
-    private void entrySelectionChanged() {
-        SelectionChangedEvent changeEvent = new SelectionChangedEvent(this,
-                getSelection());
-        fireSelectionChanged(changeEvent);
-    }
-
-    /**
-     * Return a tree item in the property sheet that has the same entry in
-     * its user data field as the supplied entry. Return <code>null</code> if
-     * there is no such item.
-     * 
-     * @param entry
-     *            the entry to serach for
-     * @return the TreeItem for the entry or <code>null</code> if
-     * there isn't one.
-     */
-    private TreeItem findItem(IPropertySheetEntry entry) {
-        // Iterate through treeItems to find item
-        TreeItem[] items = tree.getItems();
-        for (int i = 0; i < items.length; i++) {
-            TreeItem item = items[i];
-            TreeItem findItem = findItem(entry, item);
-            if (findItem != null) {
-				return findItem;
-			}
-        }
-        return null;
-    }
-
-    /**
-     * Return a tree item in the property sheet that has the same entry in
-     * its user data field as the supplied entry. Return <code>null</code> if
-     * there is no such item.
-     * 
-     * @param entry
-     *            the entry to search for
-     * @param item
-     *            the item look in
-     * @return the TreeItem for the entry or <code>null</code> if
-     * there isn't one.
-     */
-    private TreeItem findItem(IPropertySheetEntry entry, TreeItem item) {
-        // compare with current item
-        if (entry == item.getData()) {
-			return item;
-		}
-
-        // recurse over children
-        TreeItem[] items = item.getItems();
-        for (int i = 0; i < items.length; i++) {
-            TreeItem childItem = items[i];
-            TreeItem findItem = findItem(entry, childItem);
-            if (findItem != null) {
-				return findItem;
-			}
-        }
-        return null;
-    }
-
-    /**
-     * Notifies all registered cell editor activation listeners of a cell editor
-     * activation.
-     * 
-     * @param activatedCellEditor
-     *            the activated cell editor
-     */
-    private void fireCellEditorActivated(CellEditor activatedCellEditor) {
-        Object[] listeners = activationListeners.getListeners();
-        for (int i = 0; i < listeners.length; ++i) {
-            ((ICellEditorActivationListener) listeners[i])
-                    .cellEditorActivated(activatedCellEditor);
-        }
-    }
-
-    /**
-     * Notifies all registered cell editor activation listeners of a cell editor
-     * deactivation.
-     * 
-     * @param activatedCellEditor
-     *            the deactivated cell editor
-     */
-    private void fireCellEditorDeactivated(CellEditor activatedCellEditor) {
-        Object[] listeners = activationListeners.getListeners();
-        for (int i = 0; i < listeners.length; ++i) {
-            ((ICellEditorActivationListener) listeners[i])
-                    .cellEditorDeactivated(activatedCellEditor);
-        }
-    }
-
-    /**
-     * Returns the active cell editor of this property sheet viewer or
-     * <code>null</code> if no cell editor is active.
-     * 
-     * @return the active cell editor
-     */
-    public CellEditor getActiveCellEditor() {
-        return cellEditor;
-    }
-
-    private TreeItem[] getChildItems(Widget widget) {
-        if (widget instanceof Tree) {
-            return ((Tree) widget).getItems();
-        }
-        else if (widget instanceof TreeItem) {
-            return ((TreeItem) widget).getItems();
-        }
-        // shouldn't happen
-        return new TreeItem[0];
-    }
-    
-    /**
-     * Returns the sorted children of the given category or entry
-     *
-     * @param node a category or entry
-     * @return the children of the given category or entry
-     *  (element type <code>IPropertySheetEntry</code> or 
-     *  <code>PropertySheetCategory</code>)
-     */
-    private List getChildren(Object node) {
-        // cast the entry or category
-        IPropertySheetEntry entry = null;
-        PropertySheetCategory category = null;
-        if (node instanceof IPropertySheetEntry) {
-			entry = (IPropertySheetEntry) node;
-		} else {
-			category = (PropertySheetCategory) node;
-		}
-
-        // get the child entries or categories
-        List children;
-        if (category == null) {
-			children = getChildren(entry);
-		} else {
-			children = getChildren(category);
-		}
-
-        return children;
-    }
-
-    /**
-     * Returns the child entries of the given entry
-     * @param entry The entry to search
-     * 
-     * @return the children of the given entry (element type
-     *         <code>IPropertySheetEntry</code>)
-     */
-    private List getChildren(IPropertySheetEntry entry) {
-        // if the entry is the root and we are showing categories, and we have
-        // more than the
-        // defualt category, return the categories
-        if (entry == rootEntry && isShowingCategories) {
-            if (categories.length > 1
-                    || (categories.length == 1 && !categories[0]
-                            .getCategoryName().equals(
-                                    MISCELLANEOUS_CATEGORY_NAME))) {
-				return Arrays.asList(categories);
-			}
-        }
-
-        // return the sorted & filtered child entries
-        return getSortedEntries(getFilteredEntries(entry.getChildEntries()));
-    }
-
-    /**
-     * Returns the child entries of the given category
-     * 
-     * @param category The category to search
-     * 
-     * @return the children of the given category (element type
-     *         <code>IPropertySheetEntry</code>)
-     */
-    private List getChildren(PropertySheetCategory category) {
-        return getSortedEntries(getFilteredEntries(category.getChildEntries()));
-    }
-
-    /*
-     * (non-Javadoc) Method declared on Viewer.
-     */
-    public Control getControl() {
-        return tree;
-    }
-
-    /**
-     * Returns the entries which match the current filter.
-     *
-     * @param entries the entries to filter
-     * @return the entries which match the current filter
-     *  (element type <code>IPropertySheetEntry</code>)
-     */
-    private List getFilteredEntries(IPropertySheetEntry[] entries) {
-        // if no filter just return all entries
-        if (isShowingExpertProperties) {
-			return Arrays.asList(entries);
-		}
-
-        // check each entry for the filter
-        List filteredEntries = new ArrayList(entries.length);
-        for (int i = 0; i < entries.length; i++) {
-            IPropertySheetEntry entry = entries[i];
-            if (entry != null) {
-                String[] filters = entry.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(entry);
-				}
-            }
-        }
-        return filteredEntries;
-    }
-    
-    /**
-	 * Returns a sorted list of <code>IPropertySheetEntry</code> entries.
-	 * 
-	 * @param unsortedEntries
-	 *            unsorted list of <code>IPropertySheetEntry</code>
-	 * @return a sorted list of the specified entries
-	 */
-	private List getSortedEntries(List unsortedEntries) {
-		IPropertySheetEntry[] propertySheetEntries = (IPropertySheetEntry[]) unsortedEntries
-				.toArray(new IPropertySheetEntry[unsortedEntries.size()]);
-		sorter.sort(propertySheetEntries);
-		return Arrays.asList(propertySheetEntries);
-	}
-    
-
-    /**
-	 * 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 (tree.getSelectionCount() == 0) {
-			return StructuredSelection.EMPTY;
-		}
-        TreeItem[] sel = tree.getSelection();
-        List entries = new ArrayList(sel.length);
-        for (int i = 0; i < sel.length; i++) {
-            TreeItem 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 TreeItem that is selected
-     */
-    private void handleSelect(TreeItem selection) {
-        // deactivate the current cell editor
-        if (cellEditor != null) {
-            applyEditorValue();
-            deactivateCellEditor();
-        }
-
-        // get the new selection
-        TreeItem[] sel = new TreeItem[] { 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 Tree
-        // Part1: Double click only (allow traversal via keyboard without
-        // activation
-        tree.addSelectionListener(new SelectionAdapter() {
-            /* (non-Javadoc)
-             * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-             */
-            public void widgetSelected(SelectionEvent e) {
-            	// The viewer only owns the status line when there is
-            	// no 'active' cell editor
-            	if (cellEditor == null || !cellEditor.isActivated()) {
-					updateStatusLine(e.item);
-				}
-			}
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
-			 */
-			public void widgetDefaultSelected(SelectionEvent e) {
-                handleSelect((TreeItem) e.item);
-            }
-        });
-        // Part2: handle single click activation of cell editor
-        tree.addMouseListener(new MouseAdapter() {
-            public void mouseDown(MouseEvent event) {
-                // only activate if there is a cell editor
-                Point pt = new Point(event.x, event.y);
-                TreeItem item = tree.getItem(pt);
-                if (item != null) {
-                    handleSelect(item);
-                }
-            }
-        });
-
-        // Add a tree listener to expand and collapse which
-        // allows for lazy creation of children
-        tree.addTreeListener(new TreeListener() {
-            public void treeExpanded(final TreeEvent event) {
-                handleTreeExpand(event);
-            }
-
-            public void treeCollapsed(final TreeEvent event) {
-                handleTreeCollapse(event);
-            }
-        });
-
-        // Refresh the tree when F5 pressed
-        tree.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());
-				}
-            }
-        });
-    }
-
-    /**
-     * Update the status line based on the data of item.
-     * @param item
-     */
-    protected void updateStatusLine(Widget item) {
-    	setMessage(null);
-    	setErrorMessage(null);
-    	
-    	// Update the status line
-    	if (item != null) {
-    		if (item.getData() instanceof PropertySheetEntry) {
-    			PropertySheetEntry psEntry = (PropertySheetEntry) item.getData();
-    			
-    			// For entries, show the description if any, else show the label
-    			String desc = psEntry.getDescription();
-    			if (desc != null && desc.length() > 0) {
-					setMessage(psEntry.getDescription());
-				} else {
-					setMessage(psEntry.getDisplayName());
-				}
-    		}
-    			
-    		else if (item.getData() instanceof PropertySheetCategory) {
-    			PropertySheetCategory psCat = (PropertySheetCategory) item.getData();
-    			setMessage(psCat.getCategoryName());
-    		}
-    	}
-	}
-
-    /**
-     * 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, tree);
-        }
-    }
-
-    /**
-     * 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 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(TreeItem 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 itr = selection.iterator();
-        while (itr.hasNext()) {
-			((IPropertySheetEntry) itr.next()).resetPropertyValue();
-		}
-    }
-
-    /**
-     * Sets the error message to be displayed in the status line.
-     * 
-     * @param errorMessage
-     *            the message to be displayed, or <code>null</code>
-     */
-    private void setErrorMessage(String errorMessage) {
-        // show the error message
-        if (statusLineManager != null) {
-			statusLineManager.setErrorMessage(errorMessage);
-		}
-    }
-
-    /**
-     * The <code>PropertySheetViewer</code> implementation of this method
-     * declared on <code>Viewer</code> method sets the objects for which the
-     * viewer is currently showing properties.
-     * <p>
-     * The input must be an <code>Object[]</code> or <code>null</code>.
-     * </p>
-     * 
-     * @param newInput
-     *            the input of this viewer, or <code>null</code> if none
-     */
-    public void setInput(Object newInput) {
-        // need to save any changed value when user clicks elsewhere
-        applyEditorValue();
-        // deactivate our cell editor
-        deactivateCellEditor();
-
-        // set the new input to the root entry
-        input = (Object[]) newInput;
-        if (input == null) {
-			input = new Object[0];
-		}
-
-        if (rootEntry != null) {
-            rootEntry.setValues(input);
-            // ensure first level children are visible
-            updateChildrenOf(rootEntry, tree);
-        }
-    }
-
-    /**
-     * 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 tree
-        tree.setData(rootEntry);
-
-        // Add an IPropertySheetEntryListener to listen for entry change
-        // notifications
-        rootEntry.addPropertySheetEntryListener(entryListener);
-
-        // Pass our input to the root, this will trigger entry change
-        // callbacks to update this viewer
-        setInput(input);
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.jface.viewers.Viewer#setSelection(org.eclipse.jface.viewers.ISelection, boolean)
-     */
-    public void setSelection(ISelection selection, boolean reveal) {
-        //Do nothing by default
-    }
-
-    /**
-	 * Sets the sorter for this viewer.
-	 * <p>
-	 * The default sorter sorts categories and entries alphabetically. 
-	 * A viewer update needs to be triggered after the sorter has changed.
-	 * </p>
-	 * @param sorter the sorter to set (<code>null</code> will reset to the
-	 * default sorter)
-     * @since 3.1
-	 */
-	public void setSorter(PropertySheetSorter sorter) {
-		if (null == sorter) {
-			sorter = new PropertySheetSorter();
-		}
-		this.sorter = sorter;
-	}
-
-    /**
-     * 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.
-        // Rather than just sorting categoryCache.values(), we'd like the original order to be preserved
-        // (with misc added at the end, if needed) before passing to the sorter.
-        ArrayList categoryList = new ArrayList();
-        Set seen = new HashSet(childEntries.size());
-        for (int i = 0; i < childEntries.size(); i++) {
-            IPropertySheetEntry childEntry = (IPropertySheetEntry) childEntries
-                    .get(i);
-            String categoryName = childEntry.getCategory();
-            if (categoryName != null && !seen.contains(categoryName)) {
-                seen.add(categoryName);
-                PropertySheetCategory category = (PropertySheetCategory) categoryCache
-                        .get(categoryName);
-                if (category != null) { 
-                    categoryList.add(category);
-                }
-            }
-        }
-        if (addMisc && !seen.contains(MISCELLANEOUS_CATEGORY_NAME)) {
-            categoryList.add(misc);
-        }
-        
-        PropertySheetCategory[] categoryArray = (PropertySheetCategory[]) categoryList
-        	.toArray(new PropertySheetCategory[categoryList.size()]);
-        sorter.sort(categoryArray);
-        categories = categoryArray;
-    }
-
-    /**
-     * Update the category (but not its parent or children).
-     * 
-     * @param category
-     *            the category to update
-     * @param item
-     *            the tree item for the given entry
-     */
-    private void updateCategory(PropertySheetCategory category,
-            TreeItem 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>TreeItem</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 tree items
-        TreeItem[] childItems = getChildItems(widget);
-
-        // optimization! prune collapsed subtrees
-        TreeItem item = null;
-        if (widget instanceof TreeItem) {
-            item = (TreeItem) widget;
-        }
-        if (item != null && !item.getExpanded()) {
-            // remove all children
-            for (int i = 0; i < childItems.length; i++) {
-                if (childItems[i].getData() != null) {
-                    removeItem(childItems[i]);
-                }
-            }
-
-            // append a dummy if necessary
-            if (category != null || entry.hasChildEntries()) {
-                // may already have a dummy
-                // It 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.
-                childItems = getChildItems(widget);
-                if (childItems.length == 0) {
-                    new TreeItem(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
-                childItems[i].dispose();
-            }
-        }
-
-        // WORKAROUND
-        int oldCnt = -1;
-        if (widget == tree) {
-			oldCnt = tree.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 == tree && oldCnt == 0 && tree.getItemCount() == 1) {
-            tree.setRedraw(false);
-            tree.setRedraw(true);
-        }
-
-        // get the child tree items after our changes
-        childItems = getChildItems(widget);
-
-        // update the child items
-        // This ensures that the children are in the correct order
-        // are showing the correct values.
-        for (int i = 0; i < newSize; i++) {
-            Object el = children.get(i);
-            if (el instanceof IPropertySheetEntry) {
-				updateEntry((IPropertySheetEntry) el, childItems[i]);
-			} else {
-                updateCategory((PropertySheetCategory) el, childItems[i]);
-                updateChildrenOf(el, childItems[i]);
-            }
-        }
-        // The tree's original selection may no longer apply after the update,
-        // so fire the selection changed event.
-        entrySelectionChanged();
-    }
-
-    /**
-     * Update the given entry (but not its children or parent)
-     * 
-     * @param entry
-     *            the entry we will update
-     * @param item
-     *            the tree item for the given entry
-     */
-    private void updateEntry(IPropertySheetEntry entry, TreeItem item) {
-        // ensure that backpointer is correct
-        item.setData(entry);
-
-        // update the name and value columns
-        item.setText(0, entry.getDisplayName());
-        item.setText(1, entry.getValueAsString());
-        Image image = entry.getImage();
-        if (item.getImage(1) != image) {
-			item.setImage(1, image);
-		}
-
-        // update the "+" icon
-        updatePlus(entry, item);
-    }
-
-    /**
-     * Updates the "+"/"-" icon of the tree item from the given entry
-     * or category.
-     *
-     * @param node the entry or category
-     * @param item the tree item being updated
-     */
-    private void updatePlus(Object node, TreeItem 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
-            TreeItem[] items = item.getItems();
-            for (int i = 0; i < items.length; i++) {
-                removeItem(items[i]);
-            }
-        }
-
-        if (addDummy) {
-            new TreeItem(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 86484b8..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/TextPropertyDescriptor.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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/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 ce73933..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.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<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 6fdf49f..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/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.win32/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 1577bff..0000000
--- a/bundles/org.eclipse.ui.win32/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:21:10 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.ui.win32/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.ui.win32/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 8d20c9f..0000000
--- a/bundles/org.eclipse.ui.win32/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:21:10 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=false
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.1\n *\n * ${tags}\n */</template><template context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/bundles/org.eclipse.ui.win32/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.win32/META-INF/MANIFEST.MF
deleted file mode 100644
index fc72144..0000000
--- a/bundles/org.eclipse.ui.win32/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %fragmentName
-Bundle-SymbolicName: org.eclipse.ui.win32
-Bundle-Version: 3.2.100.qualifier
-Bundle-ClassPath: .
-Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)"
-Bundle-Localization: fragment-win32
-Export-Package: org.eclipse.ui.internal.editorsupport.win32;x-internal:=true
-Eclipse-PlatformFilter: (osgi.ws=win32)
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/bundles/org.eclipse.ui.win32/about.html b/bundles/org.eclipse.ui.win32/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.ui.win32/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</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 f15b424..0000000
--- a/bundles/org.eclipse.ui.win32/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source..=src/
-src.includes=about.html
-bin.includes = .,\
-               META-INF/,\
-               fragment-win32.properties,\
-               about.html
diff --git a/bundles/org.eclipse.ui.win32/fragment-win32.properties b/bundles/org.eclipse.ui.win32/fragment-win32.properties
deleted file mode 100644
index 1d259fc..0000000
--- a/bundles/org.eclipse.ui.win32/fragment-win32.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-providerName=Eclipse.org
-fragmentName=Eclipse UI Win32 Enhancements
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 f2424d2..0000000
--- a/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleEditor.java
+++ /dev/null
@@ -1,720 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.dialogs.ErrorDialog;
-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.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTException;
-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.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IPathEditorInput;
-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.ide.ResourceUtil;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-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 occurred.
-     */
-    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)
-                processDelta(affectedElement);
-        }
-
-        /*
-         * Process the delta for the receiver
-         */
-        private boolean processDelta(final IResourceDelta delta) {
-
-            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 = OleMessages
-            .getString("OleEditor.errorSaving"); //$NON-NLS-1$
-
-    private static final String OLE_EXCEPTION_TITLE = OleMessages
-            .getString("OleEditor.oleExceptionTitle"); //$NON-NLS-1$
-
-    private static final String OLE_EXCEPTION_MESSAGE = OleMessages
-            .getString("OleEditor.oleExceptionMessage"); //$NON-NLS-1$
-
-    private static final String OLE_CREATE_EXCEPTION_MESSAGE = OleMessages
-            .getString("OleEditor.oleCreationExceptionMessage"); //$NON-NLS-1$
-
-    private static final String OLE_CREATE_EXCEPTION_REASON = OleMessages
-            .getString("OleEditor.oleCreationExceptionReason"); //$NON-NLS-1$
-
-    private static final String SAVE_ERROR_TITLE = OleMessages
-            .getString("OleEditor.savingTitle"); //$NON-NLS-1$
-
-    private static final String SAVE_ERROR_MESSAGE = OleMessages
-            .getString("OleEditor.savingMessage"); //$NON-NLS-1$
-
-    /**
-     * Return a new ole editor.
-     */
-    public OleEditor() {
-        //Do nothing
-    }
-
-    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();
-
-        createClientSite();
-    }
-
-    /**
-     * Create the client site for the receiver
-     */
-
-    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.
-        try {
-            clientSite = new OleClientSite(clientFrame, SWT.NONE, source);
-        } catch (SWTException exception) {
-
-            IStatus errorStatus = new Status(IStatus.ERROR,
-                    WorkbenchPlugin.PI_WORKBENCH, IStatus.ERROR,
-                    OLE_CREATE_EXCEPTION_REASON, exception);
-            //ErrorDialog.openError(null, OLE_EXCEPTION_TITLE, OLE_CREATE_EXCEPTION_REASON, errorStatus);
-            ErrorDialog.openError(null, OLE_EXCEPTION_TITLE, OLE_CREATE_EXCEPTION_MESSAGE, errorStatus);
-            return;
-        }
-        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 de-activations.
-        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.
-     * @param title
-     * @param 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) {
-            ResourcesPlugin.getWorkspace().removeResourceChangeListener(
-                    resourceListener);
-            resource = null;
-        }
-
-        //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() {
-
-            /*
-             *  (non-Javadoc)
-             * @see java.lang.Runnable#run()
-             */
-            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) {
-                                //Do nothing on a failed refresh
-                            }
-                            return;
-                        }
-                        displayErrorDialog(OLE_EXCEPTION_TITLE,
-                                OLE_EXCEPTION_MESSAGE + String.valueOf(result));
-                        return;
-                    }
-                }
-                if (saveFile(source)) {
-                    try {
-                        resource.refreshLocal(IResource.DEPTH_ZERO, monitor);
-                    } catch (CoreException ex) {
-                        //Do nothing on a failed refresh
-                    }
-                } 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;
-    }
-
-    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 {
-    	
-    	validatePathEditorInput(input);
-
-        // Save input.
-        setSite(site);
-        setInputWithNotify(input);
-
-        // Update titles.
-        setPartName(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);
-
-    }
-    
-    /**
-     * Validates the given input
-     * 
-     * @param input the editor input to validate
-     * @throws PartInitException if the editor input is not OK
-     */
-    private boolean validatePathEditorInput(IEditorInput input) throws PartInitException {
-        // Check input type.
-        if (!(input instanceof IPathEditorInput))
-            throw new PartInitException(OleMessages.format(
-                    "OleEditor.invalidInput", new Object[] { input })); //$NON-NLS-1$
-        
-        IPath path= ((IPathEditorInput)input).getPath();
-
-        //Cannot create this with a file and no physical location
-        if (path == null
-                || !(new File(path.toOSString()).exists()))
-            throw new PartInitException(
-                    OleMessages
-                            .format(
-                                    "OleEditor.noFileInput", new Object[] { path.toOSString() })); //$NON-NLS-1$
-        return true;
-    }
-    
-    /**
-     *	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 menu bar.  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)
-     * @see org.eclipse.ui.ISaveablePart#isDirty()
-     */
-    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)
-     * @see org.eclipse.ui.ISaveablePart#isSaveAsAllowed()
-     */
-    public boolean isSaveAsAllowed() {
-        return true;
-    }
-
-    /**
-     *Since we don't know when a change has been made, always answer true
-     * @return <code>false</code> if it was not opened and <code>true</code> 
-     * only if it is dirty
-     */
-    public boolean isSaveNeeded() {
-        return getClientSite() != null && isDirty();
-    }
-
-    /**
-     * Save the supplied file using the SWT API.
-     * @param file java.io.File
-     * @return <code>true</code> if the save was successful
-     */
-    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;
-        }
-        // save failed so restore the backup
-        tempFile.renameTo(file);
-        return false;
-    }
-
-    /**
-     * Save the new File using the client site.
-     * @return WorkspaceModifyOperation
-     */
-    private WorkspaceModifyOperation saveNewFileOperation() {
-
-        return new WorkspaceModifyOperation() {
-            public void execute(final IProgressMonitor monitor)
-                    throws CoreException {
-                SaveAsDialog dialog = new SaveAsDialog(clientFrame.getShell());
-                IFile sFile = ResourceUtil.getFile(getEditorInput());
-                if (sFile != null) {
-                    dialog.setOriginalFile(sFile);
-                    dialog.open();
-    
-                    IPath newPath = dialog.getResult();
-                    if (newPath == null)
-                        return;
-    
-                    if (dialog.getReturnCode() == Window.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;
-                        }
-                    }
-                }
-            }
-        };
-
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-     */
-    public void setFocus() {
-        //Do not take focus
-    }
-
-    /**
-     * 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();
-            }
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.EditorPart#setInputWithNotify(org.eclipse.ui.IEditorInput)
-     */
-    protected void setInputWithNotify(IEditorInput input) {
-    	if (input instanceof IPathEditorInput)
-    		source = new File(((IPathEditorInput)input).getPath().toOSString());
-    	
-        if (input instanceof IFileEditorInput) {
-        	if (resource == null)
-        		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceListener);
-        	resource = ((IFileEditorInput)input).getFile();
-        } else if (resource != null) {
-        	ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceListener);
-        	resource = null;
-        }
-        
-        super.setInputWithNotify(input);
-    }
-
-    /**
-     * See if it is one of the known types that use OLE Storage.
-     * @param progID the type to test
-     * @return <code>true</code> if it is one of the known types
-     */
-    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
-     * @param newFile The file to get the new contents from.
-     */
-    private void sourceChanged(IFile newFile) {
-
-        FileEditorInput newInput = new FileEditorInput(newFile);
-        setInputWithNotify(newInput);
-        sourceChanged = true;
-        setPartName(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.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleMessages.java b/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleMessages.java
deleted file mode 100644
index 91f658d..0000000
--- a/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleMessages.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.editorsupport.win32;
-
-import com.ibm.icu.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- */
-public class OleMessages {
-    private static final String RESOURCE_BUNDLE = "org.eclipse.ui.internal.editorsupport.win32.messages";//$NON-NLS-1$
-
-    private static ResourceBundle bundle = ResourceBundle
-            .getBundle(RESOURCE_BUNDLE);
-
-    private OleMessages() {
-        // prevent instantiation of class
-    }
-
-    /**
-     * Returns the formatted message for the given key in the resource bundle.
-     * 
-     * @param key
-     *            the resource name
-     * @param args
-     *            the message arguments
-     * @return the string
-     */
-    public static String format(String key, Object[] args) {
-        return MessageFormat.format(getString(key), args);
-    }
-
-    /**
-     * Returns the resource object with the given key in the resource bundle. If
-     * there isn't any value under the given key, the key is returned.
-     * 
-     * @param key
-     *            the resource name
-     * @return the string
-     */
-    public static String getString(String key) {
-        try {
-            return bundle.getString(key);
-        } catch (MissingResourceException e) {
-            return key;
-        }
-    }
-
-    /**
-     * Returns the resource object with the given key in the resource bundle. If
-     * there isn't any value under the given key, the default value is returned.
-     * 
-     * @param key
-     *            the resource name
-     * @param def
-     *            the default value
-     * @return the string
-     */
-    public static String getString(String key, String def) {
-        try {
-            return bundle.getString(key);
-        } catch (MissingResourceException e) {
-            return def;
-        }
-    }
-}
diff --git a/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/messages.properties b/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/messages.properties
deleted file mode 100644
index 13507d7..0000000
--- a/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/messages.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-OleEditor.errorSaving = Exception saving file
-OleEditor.oleExceptionTitle = OLE Exception
-OleEditor.oleExceptionMessage = OLE Error Saving 
-OleEditor.oleCreationExceptionMessage = Cannot create the in-place editor
-OleEditor.oleCreationExceptionReason = This is probably because there is no OLE editor registered against the type of file you were trying to open.
-OleEditor.savingTitle = Error Saving
-OleEditor.savingMessage = Could not save 
-OleEditor.invalidInput = Invalid Input: {0}.  Input must adapt to IFile
-OleEditor.noFileInput = Invalid Input: {0}.  Input must also exist in the filesystem
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/.classpath b/bundles/org.eclipse.ui.workbench.compatibility/.classpath
deleted file mode 100644
index ce73933..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.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<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/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index d54f0e9..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:21:22 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 2341629..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Tue Sep 12 08:58:52 EDT 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.3\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template></templates>
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 7f9ef27..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Nov 23 11:21:27 EST 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=0
-compilers.p.illegal-att-value=0
-compilers.use-project=true
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.workbench.compatibility/META-INF/MANIFEST.MF
deleted file mode 100644
index ad6030f..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %fragmentName
-Bundle-SymbolicName: org.eclipse.ui.workbench.compatibility
-Bundle-Version: 3.2.0.qualifier
-Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.ui.workbench;bundle-version="[3.0.0,4.0.0)"
-Bundle-Localization: fragment-compatibility
-Require-Bundle: org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
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 4602330..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</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 ef55695..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-source.compatibility.jar=src/
-src.includes=about.html
-bin.includes = fragment.xml,\
-               fragment-compatibility.properties,\
-               about.html,\
-               compatibility.jar,\
-               META-INF/
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/fragment-compatibility.properties b/bundles/org.eclipse.ui.workbench.compatibility/fragment-compatibility.properties
deleted file mode 100644
index f667586..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/fragment-compatibility.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-providerName=Eclipse.org
-fragmentName=Workbench Compatibility
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 5db7cbb..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/src/org/eclipse/ui/internal/CompatibleWorkbenchPage.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.
- * <p>
- * Plug-ins should not refer to this type or its containing fragment from their
- * class path. It is intended only to provide binary compatibility for pre-3.0
- * plug-ins, and should not be referenced at development time.
- * </p>
- * 
- * @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 9ef8130..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/src/org/eclipse/ui/internal/ICompatibleWorkbenchPage.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.
- * <p>
- * Plug-ins should not refer to this type or its containing fragment from their
- * class path. It is intended only to provide binary compatibility for pre-3.0
- * plug-ins, and should not be referenced at development time.
- * </p>
- * 
- * @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 <code>null</code> if a system
-     *         editor was opened
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @deprecated In 3.0 this resource-specific method moved from this
-     *             interface to
-     *             <code>org.eclipse.ui.ide.IDE.openEditor(IWorkbenchPage,IFile)</code>.
-     *             This method should not be referenced at development time. See
-     *             the class comment for more details.
-     */
-    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
-     * @deprecated In 3.0 this resource-specific method moved from this
-     *             interface to
-     *             <code>org.eclipse.ui.ide.IDE.openEditor(IWorkbenchPage,IFile,String,boolean)</code>.
-     *             This method should not be referenced at development time. See
-     *             the class comment for more details.
-     */
-    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
-     * @deprecated In 3.0 this resource-specific method moved from this
-     *             interface to
-     *             <code>org.eclipse.ui.ide.IDE.openEditor(IWorkbenchPage,IFile,String)</code>.
-     *             This method should not be referenced at development time. See
-     *             the class comment for more details.
-     */
-    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
-     * @deprecated In 3.0 this resource-specific method moved from this
-     *             interface to
-     *             <code>org.eclipse.ui.ide.IDE.openEditor(IWorkbenchPage,IMarker)</code>.
-     *             This method should not be referenced at development time. See
-     *             the class comment for more details.
-     */
-    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
-     * @deprecated In 3.0 this resource-specific method moved from this
-     *             interface to
-     *             <code>org.eclipse.ui.ide.IDE.openEditor(IWorkbenchPage,IMarker,boolean)</code>.
-     *             This method should not be referenced at development time. See
-     *             the class comment for more details.
-     */
-    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.
-     * @deprecated In 3.0 this resource-specific method was removed. Use
-     *             <code>openEditor(new FileEditorInput(file), IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID)</code>
-     *             instead. This method should not be referenced at development
-     *             time. See the class comment for more details.
-     */
-    public void openSystemEditor(IFile input) throws PartInitException;
-}
diff --git a/bundles/org.eclipse.ui/buildnotes_workbench.html b/bundles/org.eclipse.ui/buildnotes_workbench.html
index de3ba7c..8c9c0e0 100644
--- a/bundles/org.eclipse.ui/buildnotes_workbench.html
+++ b/bundles/org.eclipse.ui/buildnotes_workbench.html
@@ -12,6 +12,36 @@
 <h1>Eclipse Platform Build Notes (3.3)<br>
 JFace and Workbench</h1>
 
+<p>Integration Build (May 23, 2007, 3:06 p.m.)</p>
+  <p>Problem reports updated</p>
+  <p>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=128927">Bug 128927</a>. [FastView] Problem occurs when "weclome" view be put into "Fast View" bar (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=140799">Bug 140799</a>. [Keybindings] Keyboard shortcuts don't work if a view is detached (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=172485">Bug 172485</a>. o.e.u.ide  action sets need to be converted to commands and moved to ide.application (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=174378">Bug 174378</a>. [ViewMgmt] [Contributions] activating the view menu does not activate the view (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=175181">Bug 175181</a>. NavigatorSaveablesServices NPEs on shutdown (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=178284">Bug 178284</a>. [DynamicUI] [Contributions] Loading/unloading action set leaves handlers and keybindings behind (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=179077">Bug 179077</a>. [Graphics] Suppress red Xs in Help > About Eclipse > Plugin Details for unsigned jars? (ASSIGNED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=182308">Bug 182308</a>. [Contributions] [Doc] CompoundContributionItem's getContributionItems() method has no javadocs (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=184045">Bug 184045</a>. [JFace] TableColumnLayout leaves space for scrollbar, goes away when shell is resized (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=185067">Bug 185067</a>. [KeyBindings] New Keys pref page: cannot sort 'User' column (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=185107">Bug 185107</a>. [Themes] [europa] appearance preference page corrupted after switch wks (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=185891">Bug 185891</a>. [WorkingSets] Use safe runnable in AbstractWorkingSetManager.firePropertyChange (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=186801">Bug 186801</a>. [Min/Max] Un-detaching a View restores to maximized perspective (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=187069">Bug 187069</a>. [Min/Max] Adding a legacy fast view with a maximized part puts the view in the wrong stack (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=187546">Bug 187546</a>. [FastView] [Min/Max] Editor Area empty after perspective switch (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=187632">Bug 187632</a>. [Trim] [Min/Max] Closing the last perspective leaves minimized editor stack in the trim (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=187812">Bug 187812</a>. [KeyBindings] IBindingService.getActiveBindingsFor(ParameterizedCommand)  does not work (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=187817">Bug 187817</a>. [Viewers] Can't select multiple items in "externalize strings" dialog. (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=187826">Bug 187826</a>. [Viewers] Active Editor is not closed before refreshing (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=187890">Bug 187890</a>. [Progress] [Decorators] Systems with many jobs can delay decoration >10 seconds (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=188056">Bug 188056</a>. [Preferences] PreferencePage s have to less indent in PreferenceDialog (NEW)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=188357">Bug 188357</a>. [EFS] Export to tar not working with pluggable filesystem (NEW)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=188467">Bug 188467</a>. [GlobalActions] CyclePerspectiveHandler leaks one image per perspective per switch (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=188588">Bug 188588</a>. [KeyBindings] [KeyBindings] missing keyboard shortcut for opening a view in my RCP app (FIXED)<br>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=188593">Bug 188593</a>. [KeyBindings] Conflicts with Emacs keybindings scheme in zh locale for same command (FIXED)<br>
+  </p>
+
 <p>Integration Build (May 17, 2007, 3:23 p.m.)</p>
   <p>Problem reports updated</p>
   <p>
@@ -501,7 +531,7 @@
 <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=178743">Bug 178743</a>. [Trim] IndexOutOfBoundsException restoring View (FIXED)<br>
   </p>
 
-<p>Integration Build (MÌ??å??rz 21, 2007, 11:19 p.m.)</p>
+<p>Integration Build (Mí??ÂŒ??rz 21, 2007, 11:19 p.m.)</p>
   <p>Problem reports updated</p>
   <p>
 <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=178643">Bug 178643</a>. [DataBinding] ValueBinding does not remove model/target listeners on dispose (FIXED)<br>
diff --git a/examples/org.eclipse.jface.examples.databinding/.classpath b/examples/org.eclipse.jface.examples.databinding/.classpath
deleted file mode 100644
index d512f63..0000000
--- a/examples/org.eclipse.jface.examples.databinding/.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.jdt.launching.JRE_CONTAINER/executionEnvironments/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.jface.examples.databinding/.cvsignore b/examples/org.eclipse.jface.examples.databinding/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.jface.examples.databinding/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.jface.examples.databinding/.project b/examples/org.eclipse.jface.examples.databinding/.project
deleted file mode 100644
index 0ccc228..0000000
--- a/examples/org.eclipse.jface.examples.databinding/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jface.examples.databinding</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.jem.workbench.JavaEMFNature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.jem.beaninfo.BeanInfoNature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 2b83041..0000000
--- a/examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,71 +0,0 @@
-#Wed Jan 17 09:10:34 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 846d8bf..0000000
--- a/examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Thu Aug 24 15:24:48 EDT 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 9ad123f..0000000
--- a/examples/org.eclipse.jface.examples.databinding/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Oct 18 13:46:33 EDT 2005
-compilers.p.deprecated=0
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.jface.examples.databinding/META-INF/MANIFEST.MF b/examples/org.eclipse.jface.examples.databinding/META-INF/MANIFEST.MF
deleted file mode 100644
index 842cd38..0000000
--- a/examples/org.eclipse.jface.examples.databinding/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jface.examples.databinding
-Bundle-Version: 1.0.100.qualifier
-Bundle-ClassPath: .
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.jface,
- org.eclipse.core.databinding,
- org.eclipse.core.runtime,
- org.eclipse.core.databinding.beans,
- org.eclipse.jface.databinding
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.jface.examples.databinding;x-internal:=false,
- org.eclipse.jface.examples.databinding.mask;x-internal:=false,
- org.eclipse.jface.examples.databinding.mask.internal;x-internal:=true,
- org.eclipse.jface.examples.databinding.model;x-internal:=false,
- org.eclipse.jface.examples.databinding.radioGroup;x-internal:=false
-Import-Package: com.ibm.icu.text
diff --git a/examples/org.eclipse.jface.examples.databinding/about.html b/examples/org.eclipse.jface.examples.databinding/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.jface.examples.databinding/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.jface.examples.databinding/build.properties b/examples/org.eclipse.jface.examples.databinding/build.properties
deleted file mode 100644
index 72c23de..0000000
--- a/examples/org.eclipse.jface.examples.databinding/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = .,\
-               META-INF/,\
-               plugin.properties,\
-               about.html
-output.databindingexamples.jar = bin/
-src.includes = about.html
-source.. = src/
diff --git a/examples/org.eclipse.jface.examples.databinding/plugin.properties b/examples/org.eclipse.jface.examples.databinding/plugin.properties
deleted file mode 100644
index 759e715..0000000
--- a/examples/org.eclipse.jface.examples.databinding/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = JFace Data Binding Examples
-providerName = Eclipse.org
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ModelObject.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ModelObject.java
deleted file mode 100644
index 3e2acf3..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ModelObject.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding;
-
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeSupport;
-import java.lang.reflect.Array;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-public class ModelObject {
-	private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(
-			this);
-	private String id;
-
-	public void addPropertyChangeListener(PropertyChangeListener listener) {
-		propertyChangeSupport.addPropertyChangeListener(listener);
-	}
-
-	public void addPropertyChangeListener(String propertyName,
-			PropertyChangeListener listener) {
-		propertyChangeSupport.addPropertyChangeListener(propertyName, listener);
-	}
-
-	public void removePropertyChangeListener(PropertyChangeListener listener) {
-		propertyChangeSupport.removePropertyChangeListener(listener);
-	}
-
-	public void removePropertyChangeListener(String propertyName,
-			PropertyChangeListener listener) {
-		propertyChangeSupport.removePropertyChangeListener(propertyName,
-				listener);
-	}
-
-	protected void firePropertyChange(String propertyName, Object oldValue,
-			Object newValue) {
-		propertyChangeSupport.firePropertyChange(propertyName, oldValue,
-				newValue);
-	}
-	
-	protected void firePropertyChange(String propertyName, int oldValue,
-			int newValue) {
-		propertyChangeSupport.firePropertyChange(propertyName, oldValue,
-				newValue);
-	}
-	
-	protected void firePropertyChange(String propertyName, boolean oldValue,
-			boolean newValue) {
-		propertyChangeSupport.firePropertyChange(propertyName, oldValue,
-				newValue);
-	}
-
-	public void setId(String string) {
-		Object oldValue = id;
-		id = string;
-		firePropertyChange("id", oldValue, id);
-	}
-
-	protected Object[] append(Object[] array, Object object) {
-		List newList = new ArrayList(Arrays.asList(array));
-		newList.add(object);
-		return newList.toArray((Object[]) Array.newInstance(array.getClass()
-				.getComponentType(), newList.size()));
-	}
-
-	protected Object[] remove(Object[] array, Object object) {
-		List newList = new ArrayList(Arrays.asList(array));
-		newList.remove(object);
-		return newList.toArray((Object[]) Array.newInstance(array.getClass()
-				.getComponentType(), newList.size()));
-	}
-	
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/AsynchronousTestSet.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/AsynchronousTestSet.java
deleted file mode 100644
index 9669115..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/AsynchronousTestSet.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.contentprovider.test;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Random;
-
-import org.eclipse.core.databinding.observable.Diffs;
-import org.eclipse.core.databinding.observable.set.ObservableSet;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Test set that simulates asynchronously computed elements. The elements of the
- * set are randomly generated Integers. Whenever the "recompute" method is
- * called, the set will spin off a job that sleeps for a period of time and then
- * randomly adds and removes elements from the set.
- * 
- * <p>
- * This simulates a set that wraps a database query or network communication.
- * These would follow the same pattern (report the set as "stale", perform some
- * slow operation, then make changes to the set).
- * </p>
- * 
- * @since 1.0
- */
-public class AsynchronousTestSet extends ObservableSet {
-
-	private static Random randomNumberGenerator = new Random();
-
-	private Display display;
-
-	private boolean stale = false;
-
-	/**
-	 * Average number of elements to add or remove
-	 */
-	private static final int AVERAGE_DELTA = 4;
-
-	/**
-	 * Average "computation" time -- time taken to do the simulated work (ms)
-	 */
-	private static final int AVERAGE_BUSY_TIME = 1000;
-
-	/**
-	 * List of all undisposed AsynchronousTestSet instances. Used for the
-	 * recomputeAll method.
-	 */
-	private static List allSets = new ArrayList();
-
-	public AsynchronousTestSet() {
-		super(new HashSet(), Object.class);
-		display = Display.getCurrent();
-		if (display == null) {
-			throw new IllegalStateException(
-					"This object can only be created in the UI thread"); //$NON-NLS-1$
-		}
-		recompute();
-	}
-
-	protected void firstListenerAdded() {
-		super.firstListenerAdded();
-		allSets.add(this);
-	}
-
-	protected void lastListenerRemoved() {
-		allSets.remove(this);
-		super.lastListenerRemoved();
-	}
-
-	public static void recomputeAll() {
-		for (Iterator iter = allSets.iterator(); iter.hasNext();) {
-			AsynchronousTestSet next = (AsynchronousTestSet) iter.next();
-
-			next.recompute();
-		}
-	}
-
-	public void remove(Collection toRemove) {
-		HashSet removed = new HashSet();
-		removed.addAll(toRemove);
-		removed.retainAll(wrappedSet);
-
-		wrappedSet.removeAll(removed);
-		fireSetChange(Diffs.createSetDiff(Collections.EMPTY_SET, removed));
-	}
-
-	public boolean isStale() {
-		return stale;
-	}
-
-	public void recompute() {
-		if (!isStale()) {
-			setStale(true);
-			final int sleepTime = (int) (randomNumberGenerator.nextDouble() * (AVERAGE_BUSY_TIME * 2));
-			Thread newThread = new Thread(new Runnable() {
-				public void run() {
-
-					// Simulate work by sleeping
-					try {
-						Thread.sleep(sleepTime);
-					} catch (InterruptedException e) {
-					}
-
-					// Add and remove some elements -- important: fire all
-					// events in the UI thread
-					display.asyncExec(new Runnable() {
-						public void run() {
-							final HashSet toAdd = new HashSet();
-							final HashSet toRemove = new HashSet();
-
-							// Compute elements to add and remove (basically
-							// just fills the toAdd
-							// and toRemove sets with random elements)
-							int delta = (randomNumberGenerator
-									.nextInt(AVERAGE_DELTA * 4) - AVERAGE_DELTA * 2);
-							int extraAdds = randomNumberGenerator
-									.nextInt(AVERAGE_DELTA);
-							int addCount = delta + extraAdds;
-							int removeCount = -delta + extraAdds;
-
-							if (addCount > 0) {
-								for (int i = 0; i < addCount; i++) {
-									toAdd.add(new Integer(randomNumberGenerator
-											.nextInt(20)));
-								}
-							}
-
-							if (removeCount > 0) {
-								Iterator oldElements = wrappedSet.iterator();
-								for (int i = 0; i < removeCount
-										&& oldElements.hasNext(); i++) {
-									toRemove.add(oldElements.next());
-								}
-							}
-
-							toAdd.removeAll(wrappedSet);
-							wrappedSet.addAll(toAdd);
-							wrappedSet.removeAll(toRemove);
-
-							setStale(false);
-							fireSetChange(Diffs.createSetDiff(toAdd, toRemove));
-						}
-					});
-				}
-			});
-
-			newThread.start();
-		}
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/LabelProviderTest.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/LabelProviderTest.java
deleted file mode 100644
index 736f7b5..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/LabelProviderTest.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Brad Reynolds - bug 116920
- *******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.contentprovider.test;
-
-import java.util.Collections;
-
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.set.WritableSet;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.core.databinding.observable.value.IValueChangeListener;
-import org.eclipse.core.databinding.observable.value.ValueChangeEvent;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.databinding.viewers.ListeningLabelProvider;
-import org.eclipse.jface.databinding.viewers.ObservableSetContentProvider;
-import org.eclipse.jface.databinding.viewers.ViewersObservables;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.jface.layout.LayoutConstants;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.ViewerLabel;
-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.events.SelectionListener;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Tests UpdatableTreeContentProvider and DirtyIndicationLabelProvider. Creates
- * a tree containing three randomly-generated sets of integers, and one node
- * that contains the union of the other sets.
- * 
- * @since 1.0
- */
-public class LabelProviderTest {
-
-	private Shell shell;
-
-	private ListViewer list;
-
-	private WritableSet setOfRenamables;
-
-	private Button addButton;
-
-	private Button removeButton;
-
-	private Button renameButton;
-
-	private SelectionListener buttonSelectionListener = new SelectionAdapter() {
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-		 */
-		public void widgetSelected(SelectionEvent e) {
-			Button pressed = (Button) e.widget;
-			if (pressed == addButton) {
-				setOfRenamables.add(new RenamableItem());
-			} else if (pressed == removeButton) {
-				setOfRenamables.remove(getCurrentSelection());
-			} else if (pressed == renameButton) {
-				rename(getCurrentSelection());
-			}
-
-			super.widgetSelected(e);
-		}
-	};
-
-	private IObservableValue selectedRenamable;
-
-	/**
-	 * 
-	 */
-	public LabelProviderTest() {
-
-		// Create shell
-		shell = new Shell(Display.getCurrent());
-		{ // Initialize shell
-			setOfRenamables = new WritableSet();
-
-			list = new ListViewer(shell);
-			ObservableSetContentProvider contentProvider = new ObservableSetContentProvider();
-			list.setContentProvider(contentProvider);
-			list.setLabelProvider(new ListeningLabelProvider(contentProvider
-					.getKnownElements()) {
-				RenamableItem.Listener listener = new RenamableItem.Listener() {
-					public void handleChanged(RenamableItem item) {
-						fireChangeEvent(Collections.singleton(item));
-					}
-				};
-
-				/*
-				 * (non-Javadoc)
-				 * 
-				 * @see org.eclipse.jface.databinding.viewers.ViewerLabelProvider#updateLabel(org.eclipse.jface.viewers.ViewerLabel,
-				 *      java.lang.Object)
-				 */
-				public void updateLabel(ViewerLabel label, Object element) {
-					if (element instanceof RenamableItem) {
-						RenamableItem item = (RenamableItem) element;
-
-						label.setText(item.getName());
-					}
-				}
-
-				protected void addListenerTo(Object next) {
-					RenamableItem item = (RenamableItem) next;
-
-					item.addListener(listener);
-				}
-
-				protected void removeListenerFrom(Object next) {
-					RenamableItem item = (RenamableItem) next;
-
-					item.removeListener(listener);
-				}
-			});
-			list.setInput(setOfRenamables);
-
-			selectedRenamable = ViewersObservables.observeSingleSelection(list);
-
-			Composite buttonBar = new Composite(shell, SWT.NONE);
-			{ // Initialize buttonBar
-				addButton = new Button(buttonBar, SWT.PUSH);
-				addButton.setText("Add"); //$NON-NLS-1$
-				addButton.addSelectionListener(buttonSelectionListener);
-				removeButton = new Button(buttonBar, SWT.PUSH);
-				removeButton.addSelectionListener(buttonSelectionListener);
-				removeButton.setText("Remove"); //$NON-NLS-1$
-				renameButton = new Button(buttonBar, SWT.PUSH);
-				renameButton.addSelectionListener(buttonSelectionListener);
-				renameButton.setText("Rename"); //$NON-NLS-1$
-
-				selectedRenamable
-						.addValueChangeListener(new IValueChangeListener() {
-							public void handleValueChange(ValueChangeEvent event) {
-								boolean shouldEnable = selectedRenamable
-										.getValue() != null;
-								removeButton.setEnabled(shouldEnable);
-								renameButton.setEnabled(shouldEnable);
-							}
-						});
-				removeButton.setEnabled(false);
-				renameButton.setEnabled(false);
-
-				GridLayoutFactory.fillDefaults().generateLayout(buttonBar);
-			}
-
-		}
-		GridLayoutFactory.fillDefaults().numColumns(2).margins(
-				LayoutConstants.getMargins()).generateLayout(shell);
-	}
-
-	/**
-	 * @param currentSelection
-	 */
-	protected void rename(final RenamableItem currentSelection) {
-		InputDialog inputDialog = new InputDialog(
-				shell,
-				"Edit name", "Enter the new item name", currentSelection.getName(), null); //$NON-NLS-1$ //$NON-NLS-2$
-		if (Window.OK == inputDialog.open()) {
-			currentSelection.setName(inputDialog.getValue());
-		}
-	}
-
-	/**
-	 * @return
-	 */
-	protected RenamableItem getCurrentSelection() {
-		return (RenamableItem) selectedRenamable.getValue();
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		final Display display = Display.getDefault();
-		Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
-
-			public void run() {
-				LabelProviderTest test = new LabelProviderTest();
-				Shell s = test.getShell();
-				s.pack();
-				s.setVisible(true);
-
-				while (!s.isDisposed()) {
-					if (!display.readAndDispatch())
-						display.sleep();
-				}
-			}
-		});
-		display.dispose();
-	}
-
-	private Shell getShell() {
-		return shell;
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/LabelProviderTest2.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/LabelProviderTest2.java
deleted file mode 100644
index 3089982..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/LabelProviderTest2.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Brad Reynolds - bug 116920
- *******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.contentprovider.test;
-
-import java.util.Collections;
-
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.list.WritableList;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.core.databinding.observable.value.IValueChangeListener;
-import org.eclipse.core.databinding.observable.value.ValueChangeEvent;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.databinding.viewers.ListeningLabelProvider;
-import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
-import org.eclipse.jface.databinding.viewers.ViewersObservables;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.jface.layout.LayoutConstants;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.ViewerLabel;
-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.events.SelectionListener;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Tests UpdatableTreeContentProvider and DirtyIndicationLabelProvider. Creates
- * a tree containing three randomly-generated sets of integers, and one node
- * that contains the union of the other sets.
- * 
- * @since 1.0
- */
-public class LabelProviderTest2 {
-
-	private Shell shell;
-
-	private ListViewer list;
-
-	private WritableList listOfRenamables;
-
-	private Button addButton;
-
-	private Button removeButton;
-
-	private Button renameButton;
-
-	private SelectionListener buttonSelectionListener = new SelectionAdapter() {
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-		 */
-		public void widgetSelected(SelectionEvent e) {
-			Button pressed = (Button) e.widget;
-			if (pressed == addButton) {
-				listOfRenamables.add(new RenamableItem());
-			} else if (pressed == removeButton) {
-				listOfRenamables.remove(getCurrentSelection());
-			} else if (pressed == renameButton) {
-				rename(getCurrentSelection());
-			}
-
-			super.widgetSelected(e);
-		}
-	};
-
-	private IObservableValue selectedRenamable;
-
-	/**
-	 * 
-	 */
-	public LabelProviderTest2() {
-
-		// Create shell
-		shell = new Shell(Display.getCurrent());
-		{ // Initialize shell
-			listOfRenamables = new WritableList();
-
-			list = new ListViewer(shell);
-			ObservableListContentProvider contentProvider = new ObservableListContentProvider();
-			list.setContentProvider(contentProvider);
-			list.setLabelProvider(new ListeningLabelProvider(contentProvider
-					.getKnownElements()) {
-				RenamableItem.Listener listener = new RenamableItem.Listener() {
-					public void handleChanged(RenamableItem item) {
-						fireChangeEvent(Collections.singleton(item));
-					}
-				};
-
-				/*
-				 * (non-Javadoc)
-				 * 
-				 * @see org.eclipse.jface.databinding.viewers.ViewerLabelProvider#updateLabel(org.eclipse.jface.viewers.ViewerLabel,
-				 *      java.lang.Object)
-				 */
-				public void updateLabel(ViewerLabel label, Object element) {
-					if (element instanceof RenamableItem) {
-						RenamableItem item = (RenamableItem) element;
-
-						label.setText(item.getName());
-					}
-				}
-
-				protected void addListenerTo(Object next) {
-					RenamableItem item = (RenamableItem) next;
-
-					item.addListener(listener);
-				}
-
-				protected void removeListenerFrom(Object next) {
-					RenamableItem item = (RenamableItem) next;
-
-					item.removeListener(listener);
-				}
-			});
-			list.setInput(listOfRenamables);
-
-			selectedRenamable = ViewersObservables.observeSingleSelection(list);
-
-			Composite buttonBar = new Composite(shell, SWT.NONE);
-			{ // Initialize buttonBar
-				addButton = new Button(buttonBar, SWT.PUSH);
-				addButton.setText("Add"); //$NON-NLS-1$
-				addButton.addSelectionListener(buttonSelectionListener);
-				removeButton = new Button(buttonBar, SWT.PUSH);
-				removeButton.addSelectionListener(buttonSelectionListener);
-				removeButton.setText("Remove"); //$NON-NLS-1$
-				renameButton = new Button(buttonBar, SWT.PUSH);
-				renameButton.addSelectionListener(buttonSelectionListener);
-				renameButton.setText("Rename"); //$NON-NLS-1$
-
-				selectedRenamable
-						.addValueChangeListener(new IValueChangeListener() {
-							public void handleValueChange(ValueChangeEvent event) {
-								boolean shouldEnable = selectedRenamable
-										.getValue() != null;
-								removeButton.setEnabled(shouldEnable);
-								renameButton.setEnabled(shouldEnable);
-							}
-						});
-				removeButton.setEnabled(false);
-				renameButton.setEnabled(false);
-
-				GridLayoutFactory.fillDefaults().generateLayout(buttonBar);
-			}
-
-		}
-		GridLayoutFactory.fillDefaults().numColumns(2).margins(
-				LayoutConstants.getMargins()).generateLayout(shell);
-	}
-
-	/**
-	 * @param currentSelection
-	 */
-	protected void rename(final RenamableItem currentSelection) {
-		InputDialog inputDialog = new InputDialog(
-				shell,
-				"Edit name", "Enter the new item name", currentSelection.getName(), null); //$NON-NLS-1$ //$NON-NLS-2$
-		if (Window.OK == inputDialog.open()) {
-			currentSelection.setName(inputDialog.getValue());
-		}
-	}
-
-	/**
-	 * @return
-	 */
-	protected RenamableItem getCurrentSelection() {
-		return (RenamableItem) selectedRenamable.getValue();
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		final Display display = Display.getDefault();
-        Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
-			public void run() {
-				LabelProviderTest2 test = new LabelProviderTest2();
-				Shell s = test.getShell();
-				s.pack();
-				s.setVisible(true);
-				
-				while (!s.isDisposed()) {
-					if (!display.readAndDispatch())
-						display.sleep();
-				}
-			}
-		});
-		display.dispose();
-	}
-
-	private Shell getShell() {
-		return shell;
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/RenamableItem.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/RenamableItem.java
deleted file mode 100644
index 970b061..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/RenamableItem.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.contentprovider.test;
-
-import java.util.ArrayList;
-
-/**
- * @since 1.0
- *
- */
-public class RenamableItem {
-	
-	public static interface Listener {
-		public void handleChanged(RenamableItem item);
-	}
-	
-	private String name;
-	private ArrayList listeners = new ArrayList();
-
-	public RenamableItem() {
-		name = "RenamableItem"; //$NON-NLS-1$
-	}
-	
-	public void addListener(Listener listener) {
-		listeners.add(listener);
-	}
-	
-	public void removeListener(Listener toRemove) {
-		listeners.remove(toRemove);
-	}
-	
-	public void setName(String newName) {
-		this.name = newName;
-		
-		Listener[] l = (Listener[]) listeners.toArray(new Listener[listeners.size()]);
-		for (int i = 0; i < l.length; i++) {
-			l[i].handleChanged(this);
-		}
-	}
-	
-	public String getName() {
-		return name;
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/SimpleNode.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/SimpleNode.java
deleted file mode 100644
index 7d34d94..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/SimpleNode.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.contentprovider.test;
-
-import org.eclipse.core.databinding.observable.set.IObservableSet;
-
-
-/**
- * This object will be given randomly-generated children
- *  
- * @since 1.0
- */
-public class SimpleNode {
-	private String nodeName;
-	private IObservableSet children;
-
-	public SimpleNode(String nodeName, IObservableSet children) {
-		super();
-		this.nodeName = nodeName;
-		this.children = children;
-	}
-
-	public String getNodeName() {
-		return nodeName;
-	}
-
-	public IObservableSet getChildren() {
-		return children;
-	}
-	
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/SomeMathFunction.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/SomeMathFunction.java
deleted file mode 100644
index 88ec454..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/SomeMathFunction.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.contentprovider.test;
-
-import java.util.Collections;
-import java.util.Set;
-
-import org.eclipse.core.databinding.observable.map.ComputedObservableMap;
-import org.eclipse.core.databinding.observable.map.MapDiff;
-import org.eclipse.core.databinding.observable.set.IObservableSet;
-
-/**
- * Simple function that performs one of three operations on Doubles:
- * <ul>
- * <li>Multiply by two</li>
- * <li>Round to nearest integer</li>
- * <li>Do nothing</li>
- * </ul>
- * 
- * @since 1.0
- */
-public class SomeMathFunction extends ComputedObservableMap {
-
-	/**
-	 * 
-	 */
-	public static final int OP_IDENTITY = 0;
-
-	/**
-	 * 
-	 */
-	public static final int OP_MULTIPLY = 1;
-
-	/**
-	 * 
-	 */
-	public static final int OP_ROUND = 2;
-
-	private int op = OP_ROUND;
-
-	/**
-	 * @param domain
-	 */
-	public SomeMathFunction(IObservableSet domain) {
-		super(domain);
-		init();
-	}
-
-	/**
-	 * @param operation
-	 */
-	public void setOperation(final int operation) {
-		final int oldOp = this.op;
-		this.op = operation;
-
-		// Fire a change event. Changing the operation is going to affect every
-		// answer returned by
-		// this function, so include every element in the function domain in the
-		// event.
-		// If this was a change that would only affect a subset of elements, we
-		// would include
-		// the subset of affected elements rather than using
-		// domain.toCollection()
-		fireMapChange(new MapDiff() {
-
-			public Set getAddedKeys() {
-				return Collections.EMPTY_SET;
-			}
-
-			public Set getChangedKeys() {
-				return keySet();
-			}
-
-			public Object getNewValue(Object key) {
-				return doComputeResult(key, operation);
-			}
-
-			public Object getOldValue(Object key) {
-				return doComputeResult(key, oldOp);
-			}
-
-			public Set getRemovedKeys() {
-				return Collections.EMPTY_SET;
-			}
-		});
-	}
-
-	private Object doComputeResult(Object element, int op) {
-		switch (op) {
-		case OP_IDENTITY:
-			return element;
-		case OP_MULTIPLY:
-			return new Double((((Double) element).doubleValue() * 2.0));
-		case OP_ROUND:
-			return new Double(Math.floor((((Double) element).doubleValue())));
-		}
-		return element;
-	}
-
-	protected Object doGet(Object key) {
-		return doComputeResult(key, this.op);
-	}
-
-	protected Object doPut(Object key, Object value) {
-		throw new UnsupportedOperationException();
-	}
-
-	protected void hookListener(Object addedKey) {
-		// ignore, no need to listen to immutable Double objects
-	}
-
-	protected void unhookListener(Object removedKey) {
-		// ignore, no need to listen to immutable Double objects
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/StructuredContentProviderTest.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/StructuredContentProviderTest.java
deleted file mode 100644
index 20efc8e..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/StructuredContentProviderTest.java
+++ /dev/null
@@ -1,396 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.contentprovider.test;
-
-import java.util.Iterator;
-import java.util.Random;
-
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.set.MappedSet;
-import org.eclipse.core.databinding.observable.set.WritableSet;
-import org.eclipse.core.databinding.observable.value.ComputedValue;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.core.databinding.observable.value.IValueChangeListener;
-import org.eclipse.core.databinding.observable.value.ValueChangeEvent;
-import org.eclipse.core.databinding.observable.value.WritableValue;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.databinding.viewers.ObservableSetContentProvider;
-import org.eclipse.jface.databinding.viewers.ViewersObservables;
-import org.eclipse.jface.internal.databinding.provisional.swt.ControlUpdater;
-import org.eclipse.jface.internal.databinding.provisional.viewers.ViewerLabelProvider;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Tests UpdatableSetContentProvider, ComputableValue, ControlUpdator,
- * UpdatableFunction, and ConvertingSet.
- * 
- * <p>
- * This test displays a dialog with user-editable list of Doubles. It allows the
- * user to select a math function to apply to the set, and displays the result
- * in a new list. A line of text along the bottom of the dialog displays the sum
- * of the elements from the transformed set. Although this dialog is rather
- * silly, it is a good example of a dialog where a lot of things can change from
- * many directions.
- * </p>
- * 
- * <p>
- * An UpdatableSetContentProvider is used to supply the contents each
- * ListViewer. ControlUpdators
- * 
- * </p>
- * 
- * @since 1.0
- */
-public class StructuredContentProviderTest {
-
-	private static Realm realm;
-
-	/**
-	 * Top-level shell for the dialog
-	 */
-	private Shell shell;
-
-	/**
-	 * Random number stream. Used for the "add" button.
-	 */
-	protected Random random = new Random();
-
-	// Data model ////////////////////////////////////////////////////////
-
-	/**
-	 * inputSet stores a set of Doubles. The user is allowed to add and remove
-	 * Doubles from this set.
-	 */
-	private WritableSet inputSet;
-
-	/**
-	 * currentFunction is an Integer, set to one of the SomeMathFunction.OP_*
-	 * constants. It identifies which function will be applied to inputSet.
-	 */
-	private WritableValue currentFunction;
-
-	/**
-	 * mathFunction is the transformation. It can multiply by 2, round down to
-	 * the nearest integer, or do nothing (identity)
-	 */
-	private SomeMathFunction mathFunction;
-
-	/**
-	 * Set of Doubles. Holds the result of applying mathFunction to the
-	 * inputSet.
-	 */
-	private MappedSet outputSet;
-
-	/**
-	 * A Double. Stores the sum of the Doubles in outputSet
-	 */
-	private IObservableValue sumOfOutputSet;
-
-	/**
-	 * Creates the test dialog as a top-level shell.
-	 */
-	public StructuredContentProviderTest() {
-
-		// Initialize the data model
-		createDataModel();
-
-		shell = new Shell(Display.getCurrent(), SWT.SHELL_TRIM);
-		{ // Initialize shell
-			final Label someDoubles = new Label(shell, SWT.NONE);
-			someDoubles.setText("A list of random Doubles"); //$NON-NLS-1$
-			someDoubles.setLayoutData(new GridData(
-					GridData.HORIZONTAL_ALIGN_FILL
-							| GridData.VERTICAL_ALIGN_FILL));
-
-			Control addRemoveComposite = createInputControl(shell, inputSet);
-
-			GridData addRemoveData = new GridData(GridData.FILL_BOTH);
-			addRemoveData.minimumHeight = 1;
-			addRemoveData.minimumWidth = 1;
-
-			addRemoveComposite.setLayoutData(addRemoveData);
-
-			Group operation = new Group(shell, SWT.NONE);
-			{ // Initialize operation group
-				operation.setText("Select transformation"); //$NON-NLS-1$
-
-				createRadioButton(operation, currentFunction, "f(x) = x", //$NON-NLS-1$
-						new Integer(SomeMathFunction.OP_IDENTITY));
-				createRadioButton(operation, currentFunction, "f(x) = 2 * x", //$NON-NLS-1$
-						new Integer(SomeMathFunction.OP_MULTIPLY));
-				createRadioButton(operation, currentFunction,
-						"f(x) = floor(x)", new Integer( //$NON-NLS-1$
-								SomeMathFunction.OP_ROUND));
-
-				GridLayout layout = new GridLayout();
-				layout.numColumns = 1;
-				operation.setLayout(layout);
-			}
-			operation.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL
-					| GridData.VERTICAL_ALIGN_FILL));
-
-			Control outputControl = createOutputComposite(shell);
-			GridData outputData = new GridData(GridData.FILL_BOTH);
-			outputData.minimumHeight = 1;
-			outputData.minimumWidth = 1;
-			outputData.widthHint = 300;
-			outputData.heightHint = 150;
-
-			outputControl.setLayoutData(outputData);
-
-			final Label sumLabel = new Label(shell, SWT.NONE);
-			new ControlUpdater(sumLabel) {
-				protected void updateControl() {
-					double sum = ((Double) sumOfOutputSet.getValue())
-							.doubleValue();
-					int size = outputSet.size();
-
-					sumLabel.setText("The sum of the above " + size //$NON-NLS-1$
-							+ " doubles is " + sum); //$NON-NLS-1$
-				}
-			};
-			sumLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL
-					| GridData.VERTICAL_ALIGN_FILL));
-
-			GridLayout layout = new GridLayout();
-			layout.numColumns = 1;
-			shell.setLayout(layout);
-		}
-
-	}
-
-	/**
-	 * Create the updatables for this dialog
-	 */
-	private void createDataModel() {
-		// Initialize data model. We will create a user-editable set of Doubles.
-		// The user can run
-		// a transformation on this set and view the result in a list viewer.
-
-		// inputSet will be a writable set of doubles. The user will add and
-		// remove entries from this set
-		// through the UI.
-		inputSet = new WritableSet(realm);
-
-		// currentFunction holds the ID currently selected function to apply to
-		// elements in the inputSet.
-		// We will allow the user to change the current function through a set
-		// of radio buttons
-		currentFunction = new WritableValue(realm, new Integer(
-				SomeMathFunction.OP_MULTIPLY), null);
-
-		// mathFunction implements the selected function
-		mathFunction = new SomeMathFunction(inputSet);
-		currentFunction.addValueChangeListener(new IValueChangeListener() {
-			public void handleValueChange(ValueChangeEvent event) {
-				mathFunction
-						.setOperation(((Integer) currentFunction.getValue())
-								.intValue());
-			}
-		});
-		mathFunction.setOperation(((Integer) currentFunction.getValue())
-				.intValue());
-
-		// outputSet holds the result. It displays the result of applying the
-		// currently-selected
-		// function on all the elements in the input set.
-		outputSet = new MappedSet(inputSet, mathFunction);
-
-		// sumOfOutputSet stores the current sum of the the Doubles in the
-		// output set
-		sumOfOutputSet = new ComputedValue(realm) {
-			protected Object calculate() {
-				double sum = 0.0;
-				for (Iterator iter = outputSet.iterator(); iter.hasNext();) {
-					Double next = (Double) iter.next();
-
-					sum += next.doubleValue();
-				}
-				return new Double(sum);
-			}
-		};
-	}
-
-	/**
-	 * Creates a radio button in the given parent composite. When selected, the
-	 * button will change the given SettableValue to the given value.
-	 * 
-	 * @param parent
-	 *            parent composite
-	 * @param model
-	 *            SettableValue that will hold the value of the
-	 *            currently-selected radio button
-	 * @param string
-	 *            text to appear in the radio button
-	 * @param value
-	 *            value of this radio button (SettableValue will hold this value
-	 *            when the radio button is selected)
-	 */
-	private void createRadioButton(Composite parent, final WritableValue model,
-			String string, final Object value) {
-		final Button button = new Button(parent, SWT.RADIO);
-		button.setText(string);
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				model.setValue(value);
-				super.widgetSelected(e);
-			}
-		});
-		new ControlUpdater(button) {
-			protected void updateControl() {
-				button.setSelection(model.getValue().equals(value));
-			}
-		};
-		button.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL
-				| GridData.VERTICAL_ALIGN_FILL));
-	}
-
-	private Control createOutputComposite(Composite parent) {
-		ListViewer listOfInts = new ListViewer(parent, SWT.BORDER
-				| SWT.V_SCROLL | SWT.H_SCROLL);
-
-		listOfInts.setContentProvider(new ObservableSetContentProvider());
-		listOfInts.setLabelProvider(new ViewerLabelProvider());
-		listOfInts.setInput(outputSet);
-		return listOfInts.getControl();
-	}
-
-	/**
-	 * Creates and returns a control that will allow the user to add and remove
-	 * Doubles from the given input set.
-	 * 
-	 * @param parent
-	 *            parent control
-	 * @param inputSet
-	 *            input set
-	 * @return a newly created SWT control that displays Doubles from the input
-	 *         set and allows the user to add and remove entries
-	 */
-	private Control createInputControl(Composite parent,
-			final WritableSet inputSet) {
-		Composite addRemoveComposite = new Composite(parent, SWT.NONE);
-		{ // Initialize addRemoveComposite
-			ListViewer listOfInts = new ListViewer(addRemoveComposite,
-					SWT.BORDER);
-
-			listOfInts.setContentProvider(new ObservableSetContentProvider());
-			listOfInts.setLabelProvider(new ViewerLabelProvider());
-			listOfInts.setInput(inputSet);
-
-			final IObservableValue selectedInt = ViewersObservables.observeSingleSelection(listOfInts);
-
-			GridData listData = new GridData(GridData.FILL_BOTH);
-			listData.minimumHeight = 1;
-			listData.minimumWidth = 1;
-			listData.widthHint = 150;
-			listData.heightHint = 150;
-			listOfInts.getControl().setLayoutData(listData);
-
-			Composite buttonBar = new Composite(addRemoveComposite, SWT.NONE);
-			{ // Initialize button bar
-
-				Button add = new Button(buttonBar, SWT.PUSH);
-				add.setText("Add"); //$NON-NLS-1$
-				add.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						inputSet.add(new Double(random.nextDouble() * 100.0));
-						super.widgetSelected(e);
-					}
-				});
-				add.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL
-						| GridData.VERTICAL_ALIGN_FILL));
-
-				final Button remove = new Button(buttonBar, SWT.PUSH);
-				remove.setText("Remove"); //$NON-NLS-1$
-				// Enable the Remove button if and only if there is currently an
-				// element selected.
-				new ControlUpdater(remove) {
-					protected void updateControl() {
-						// This block demonstrates auto-listening.
-						// When updateControl is running, the framework
-						// remembers each
-						// updatable that gets touched. Since we're calling
-						// selectedInt.getValue()
-						// here, this updator will be flagged as dependant on
-						// selectedInt. This
-						// means that whenever selectedInt changes, this block
-						// of code will re-run
-						// itself.
-
-						// The result is that the remove button will recompute
-						// its enablement
-						// whenever the selection in the listbox changes, and it
-						// was not necessary
-						// to attach any listeners.
-						remove.setEnabled(selectedInt.getValue() != null);
-					}
-				};
-
-				remove.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						inputSet.remove(selectedInt.getValue());
-						super.widgetSelected(e);
-					}
-				});
-				remove.setLayoutData(new GridData(
-						GridData.HORIZONTAL_ALIGN_FILL
-								| GridData.VERTICAL_ALIGN_FILL));
-
-				GridLayout buttonLayout = new GridLayout();
-				buttonLayout.numColumns = 1;
-				buttonBar.setLayout(buttonLayout);
-
-			} // End button bar
-			buttonBar.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL
-					| GridData.VERTICAL_ALIGN_BEGINNING));
-
-			GridLayout addRemoveLayout = new GridLayout();
-			addRemoveLayout.numColumns = 2;
-			addRemoveComposite.setLayout(addRemoveLayout);
-		}
-		return addRemoveComposite;
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = Display.getDefault();
-		realm = SWTObservables.getRealm(display);
-		StructuredContentProviderTest test = new StructuredContentProviderTest();
-		Shell s = test.getShell();
-		s.pack();
-		s.setVisible(true);
-
-		while (!s.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-
-	private Shell getShell() {
-		return shell;
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/TreeContentProviderTest.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/TreeContentProviderTest.java
deleted file mode 100644
index 8019357..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/contentprovider/test/TreeContentProviderTest.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.contentprovider.test;
-
-import org.eclipse.core.databinding.observable.Observables;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.set.IObservableSet;
-import org.eclipse.core.databinding.observable.set.UnionSet;
-import org.eclipse.core.databinding.observable.set.WritableSet;
-import org.eclipse.core.internal.databinding.observable.tree.IUnorderedTreeProvider;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.internal.databinding.provisional.viewers.UnorderedTreeContentProvider;
-import org.eclipse.jface.internal.databinding.provisional.viewers.ViewerLabelProvider;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.jface.layout.LayoutConstants;
-import org.eclipse.jface.viewers.IViewerLabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.ViewerLabel;
-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.FillLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Tests UpdatableTreeContentProvider and DirtyIndicationLabelProvider. Creates
- * a tree containing three randomly-generated sets of integers, and one node
- * that contains the union of the other sets.
- * 
- * @since 3.2
- */
-public class TreeContentProviderTest {
-
-	private Shell shell;
-	private TreeViewer tree;
-
-	// Three randomly-generated sets of doubles
-	private AsynchronousTestSet set1;
-	private AsynchronousTestSet set2;
-	private AsynchronousTestSet set3;
-
-	// The union of the above three sets
-	private UnionSet union;
-	private Button randomize;
-
-	public TreeContentProviderTest() {
-
-		// Create the data model
-		set1 = new AsynchronousTestSet();
-		set2 = new AsynchronousTestSet();
-		set3 = new AsynchronousTestSet();
-
-		// A union of the above sets
-		union = new UnionSet(new IObservableSet[] { set1, set2, set3 });
-
-		// Create shell
-		shell = new Shell(Display.getCurrent());
-
-		createTree();
-
-		Composite buttonBar = new Composite(shell, SWT.NONE);
-		{
-			buttonBar.setLayout(new FillLayout(SWT.HORIZONTAL));
-			randomize = new Button(buttonBar, SWT.PUSH);
-			randomize.setText("Randomize");
-			randomize.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					AsynchronousTestSet.recomputeAll();
-					super.widgetSelected(e);
-				}
-			});
-
-			GridLayoutFactory.fillDefaults().generateLayout(buttonBar);
-		}
-
-		GridLayoutFactory.fillDefaults().margins(LayoutConstants.getMargins())
-				.generateLayout(shell);
-
-		shell.addDisposeListener(new DisposeListener() {
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.swt.events.DisposeListener#widgetDisposed(org.eclipse.swt.events.DisposeEvent)
-			 */
-			public void widgetDisposed(DisposeEvent e) {
-				dispose();
-			}
-		});
-	}
-
-	/**
-	 * 
-	 */
-	protected void dispose() {
-		set1.dispose();
-		set2.dispose();
-		set3.dispose();
-		union.dispose();
-	}
-
-	private void createTree() {
-		// Create the tree provider. This provides the structure of the tree.
-		// This tree will
-		// have an instance of RootNode as the root (which is really a
-		// placeholder), several
-		// SimpleNodes as top-level nodes, and sets of randomly generated
-		// Doubles below each
-		// SimpleNode.
-		IUnorderedTreeProvider treeProvider = new IUnorderedTreeProvider() {
-			public IObservableSet createChildSet(Object element) {
-				// If the parent is the root node, return the union of some
-				// randomly-generated
-				// nodes and some hardcoded nodes
-				if (element == tree.getInput()) {
-					// Set of hardcoded nodes
-					WritableSet topElements = new WritableSet();
-					topElements.add(new SimpleNode("Random Set 1", set1));
-					topElements.add(new SimpleNode("Random Set 2", set2));
-					topElements.add(new SimpleNode("Random Set 3", set3));
-					topElements.add(new SimpleNode("Union of the other sets",
-							union));
-					return topElements;
-				}
-
-				// If the parent is a RandomChildrenNode, return a
-				// randomly-generated
-				// set of Doubles for its children
-				if (element instanceof SimpleNode) {
-					// We return a new DelegatingObservableSet in order to
-					// prevent the
-					// original from being disposed.
-					return Observables
-							.proxyObservableSet(((SimpleNode) element)
-									.getChildren());
-				}
-
-				// Otherwise the node is a Double, which will have no children
-				return null;
-			}
-
-			public Realm getRealm() {
-				// TODO Auto-generated method stub
-				return null;
-			}
-		};
-
-		// Label provider for the tree
-		IViewerLabelProvider labelProvider = new ViewerLabelProvider() {
-			public void updateLabel(ViewerLabel label, Object element) {
-				if (element instanceof SimpleNode) {
-					SimpleNode node = (SimpleNode) element;
-
-					label.setText(node.getNodeName());
-				}
-
-				if (element instanceof Integer) {
-					Integer node = (Integer) element;
-
-					label.setText("Integer " + node);
-				}
-			}
-		};
-
-		// Create tree viewer
-		tree = new TreeViewer(shell, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-
-		// UpdatableTreeContentProvider converts an ITreeProvider into a
-		// standard JFace content provider
-		UnorderedTreeContentProvider contentProvider = new UnorderedTreeContentProvider(
-				treeProvider, "pending...", false);
-
-		tree.setContentProvider(contentProvider);
-		tree.setLabelProvider(labelProvider);
-
-		// For the ITreeProvider above, it doesn't matter what we select as the
-		// input.
-		tree.setInput(new Object());
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		final Display display = Display.getDefault();
-		Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
-			public void run() {
-				TreeContentProviderTest test = new TreeContentProviderTest();
-				Shell s = test.getShell();
-				s.pack();
-				s.setVisible(true);
-
-				while (!s.isDisposed()) {
-					if (!display.readAndDispatch())
-						display.sleep();
-				}
-			}
-		});
-		display.dispose();
-	}
-
-	private Shell getShell() {
-		return shell;
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ducks/DuckType.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ducks/DuckType.java
deleted file mode 100644
index 031ac20..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ducks/DuckType.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (C) 2005 db4objects Inc.  http://www.db4o.com
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     db4objects - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.ducks;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-
-/**
- * DuckType. Implements Duck Typing for Java.  ("If it walks like a duck, 
- * quacks like a duck, it...").  Essentially allows programs to treat
- * objects from separate hierarchies as if they were designed with common
- * interfaces as long as they adhere to common naming conventions.
- * <p>
- * This version is the strict DuckType.  All methods present in
- * interfaceToImplement must be present on the target object.
- *
- * @author djo
- */
-public class DuckType implements InvocationHandler {
-   
-   /**
-    * Interface DuckType#Wrapper.  An interface for DuckType proxies that
-    * allows clients to access the proxied value.  The value returned by
-    * calling DuckType#implement always implements this interface.
-    */
-   public static interface Wrapper {
-      /**
-       * Method duckType_GetWrappedValue.  Returns the proxied value.
-       * 
-       * @return The proxied value.
-       */
-      public Object duckType_GetWrappedValue();
-   }
-   
-	/**
-     * Causes object to implement the interfaceToImplement and returns
-     * an instance of the object implementing interfaceToImplement even
-     * if interfaceToImplement was not declared in object.getClass()'s 
-     * implements declaration.<p>
-     * 
-     * This works as long as all methods declared in interfaceToImplement
-     * are present on object.
-     * 
-	 * @param interfaceToImplement The Java class of the interface to implement
-	 * @param object The object to force to implement interfaceToImplement
-	 * @return object, but now implementing interfaceToImplement
-	 */
-	public static Object implement(Class interfaceToImplement, Object object) {
-		return Proxy.newProxyInstance(interfaceToImplement.getClassLoader(), 
-				new Class[] {interfaceToImplement, Wrapper.class}, new DuckType(object));
-	}
-    
-    /**
-     * Indicates if object is a (DuckType) instace of intrface.  That is,
-     * is every method in intrface present on object.
-     * 
-     * @param intrface The interface to implement
-     * @param object The object to test
-     * @return true if every method in intrface is present on object.  false otherwise
-     */
-    public static boolean instanceOf(Class intrface, Object object) {
-        final Method[] methods = intrface.getMethods();
-        Class candclass=object.getClass();
-        for (int methodidx = 0; methodidx < methods.length; methodidx++) {
-            Method method=methods[methodidx];
-            try {
-                candclass.getMethod(method.getName(), method.getParameterTypes());
-            } catch (NoSuchMethodException e) {
-                return false;
-            }
-        }
-        return true;
-    }
-	
-	protected DuckType(Object object) {
-		this.object = object;
-		this.objectClass = object.getClass();
-	}
-
-	protected Object object;
-	protected Class objectClass;
-	
-	public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
-      if (method.getName().equals("equals") && args != null && args.length == 1) {
-         return new Boolean(equals(args[0]));
-      }
-      if (method.getName().equals("hashCode") && args == null) {
-         return new Integer(hashCode());
-      }
-      if (method.getName().equals("duckType_GetWrappedValue") && args == null) {
-         return object;
-      }
-		Method realMethod = objectClass.getMethod(method.getName(), method.getParameterTypes());
-      if (!realMethod.isAccessible()) {
-         realMethod.setAccessible(true);
-      }
-		return realMethod.invoke(object, args);
-	}
-   
-   public boolean equals(Object obj) {
-      if (obj instanceof Wrapper) {
-         Wrapper proxy = (Wrapper) obj;
-         Object wrappedValue = proxy.duckType_GetWrappedValue();
-         return wrappedValue.equals(object);
-      }
-      return obj == this || super.equals(obj) || object.equals(obj);
-   }
-   
-   public int hashCode() {
-      return object.hashCode();
-   }
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ducks/ReflectedMethod.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ducks/ReflectedMethod.java
deleted file mode 100644
index c3b78ea..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ducks/ReflectedMethod.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (C) 2005 db4objects Inc.  http://www.db4o.com
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     db4objects - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.ducks;
-
-import java.lang.reflect.Method;
-
-/**
- * ReflectedMethod.  Encapsulates a method that may or may not exist on 
- * some receiver.  Invocation policy is that if the method can be invoked,
- * it is.  On failure, returns null.
- *
- * @author djo
- */
-public class ReflectedMethod {
-    
-    private Object subject;
-    private Method method;
-    
-    /**
-     * Constructor ReflectedMethod.  Create a ReflectedMethod object.
-     * 
-     * @param subject The object on which the method lives.
-     * @param methodName The name of the method.
-     * @param paramTypes The method's parameter types.
-     */
-    public ReflectedMethod(Object subject, String methodName, Class[] paramTypes) {
-        this.subject = subject;
-        method = null;
-        try {
-        	method = subject.getClass().getMethod(methodName, paramTypes);
-        } catch (Exception e) {
-        	System.out.println(e);
-        }
-    }
-    
-    /**
-     * Method exists.  Returns true if the underlying method exists, false
-     * otherwise.
-     * 
-     * @return true if the underlying method exists, false otherwise.
-     */
-    public boolean exists() {
-        return method != null;
-    }
-    
-    /**
-     * Method invoke.  If possible, invoke the encapsulated method with the
-     * specified parameters.
-     * 
-     * @param params An Object[] containing the parameters to pass.
-     * @return any return value or null if there was no return value or an
-     * error occured.
-     */
-    public Object invoke(Object[] params) {
-        if (method == null)
-            return null;
-        try {
-        	if (!method.isAccessible()) {
-        		method.setAccessible(true);
-        	}
-        	return method.invoke(subject, params);
-        } catch (Exception e) {
-            return null;
-        }
-    }
-
-	/**
-	 * Method getType.  Returns the return type of the method.
-	 * 
-	 * @return The return type or null if none.
-	 */
-	public Class getType() {
-		return method.getReturnType();
-	}
-}
-
-
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ducks/ReflectedProperty.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ducks/ReflectedProperty.java
deleted file mode 100644
index 3ec9a58..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ducks/ReflectedProperty.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 The Pampered Chef and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     The Pampered Chef - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.ducks;
-
-/**
- * Encapsulates a single JavaBeans-style property
- * 
- * @since 3.3
- */
-public class ReflectedProperty {
-	private String propertyName;
-	private ReflectedMethod getter;
-	private ReflectedMethod setter;
-
-	/**
-	 * Construct a ReflectedProperty on some object, given the property name.
-	 * 
-	 * @param object The object
-	 * @param propertyName The property name
-	 */
-	public ReflectedProperty(Object object, String propertyName) {
-		this.propertyName = propertyName;
-		getter = new ReflectedMethod(object, makeGetterName(propertyName), new Class[] {});
-		if (!getter.exists()) {
-			getter = new ReflectedMethod(object, makeBooleanGetterName(propertyName), new Class[] {});
-			if (!getter.exists()) {
-				throw new IllegalArgumentException("Cannot find getter for " + propertyName);
-			}
-		}
-		setter = new ReflectedMethod(object, makeSetterName(propertyName), new Class[] {getter.getType()});
-	}
-	
-	private String makeBooleanGetterName(String propertyName) {
-		return "is" + capitalize(propertyName);
-	}
-
-	private String makeSetterName(String propertyName) {
-		return "set" + capitalize(propertyName);
-	}
-
-	private String makeGetterName(String propertyName) {
-		return "get" + capitalize(propertyName);
-	}
-
-	private String capitalize(String string) {
-		return string.substring(0, 1).toUpperCase() + string.substring(1);
-	}
-
-	/**
-	 * Return the property's type.  This is the same as the type returned by
-	 * the getter.
-	 * 
-	 * @return The property's data type.
-	 */
-	public Class getType() {
-		return getter.getType();
-	}
-	
-	/**
-	 * Return the property's value.
-	 * 
-	 * @return The value in the property.
-	 */
-	public Object get() {
-		return getter.invoke(new Object[] {});
-	}
-	
-	/**
-	 * Set the property's value.  If the property is read-only, the request
-	 * is ignored.
-	 * 
-	 * @param newValue The value to set.
-	 */
-	public void set(Object newValue) {
-		setter.invoke(new Object[] {newValue});
-	}
-	
-	/**
-	 * Returns if the property is read-only.
-	 * 
-	 * @return false if the property has a setter; true otherwise.
-	 */
-	public boolean isReadOnly() {
-		return !setter.exists();
-	}
-
-	/**
-	 * Returns the property's name.
-	 * 
-	 * @return The property name.
-	 */
-	public String getPropertyName() {
-		return propertyName;
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ducks/RelaxedDuckType.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ducks/RelaxedDuckType.java
deleted file mode 100644
index fa43397..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/ducks/RelaxedDuckType.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2005 db4objects Inc.  http://www.db4o.com
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     db4objects - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.ducks;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.util.HashMap;
-
-/**
- * RelaxedDuckType. Implements Duck Typing for Java.  ("If it walks like a duck, 
- * quacks like a duck, it...").  Essentially allows programs to treat
- * objects from separate hierarchies as if they were designed with common
- * interfaces as long as they adhere to common naming conventions.
- * <p>
- * This version is the relaxed DuckType.  If a method in the interface is
- * not present on the underlying object, the proxy simply returns null.
- *
- * @author djo
- */
-public class RelaxedDuckType extends DuckType implements InvocationHandler {
-
-	public static Object implement(Class interfaceToImplement, Object object) {
-		return Proxy.newProxyInstance(interfaceToImplement.getClassLoader(), 
-				new Class[] {interfaceToImplement}, new RelaxedDuckType(object));
-	}
-    
-    public static boolean includes(Object object, String method, Class[] args) {
-        try {
-            object.getClass().getMethod(method, args);
-        } catch (NoSuchMethodException e) {
-            return false;
-        }
-        return true;
-    }
-    
-    private static final HashMap NULL_VALUES = new HashMap(); {
-        NULL_VALUES.put(Boolean.TYPE, Boolean.FALSE);
-        NULL_VALUES.put(Integer.TYPE, new Integer(0));
-        NULL_VALUES.put(Float.TYPE, new Float(0));
-        NULL_VALUES.put(Long.TYPE, new Long(0));
-        NULL_VALUES.put(Double.TYPE, new Double(0));
-        NULL_VALUES.put(Character.TYPE, new Character(' '));
-    }
-	
-	protected RelaxedDuckType(Object object) {
-		super(object);
-	}
-	
-	public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
-		try {
-			Method realMethod = objectClass.getMethod(method.getName(), method.getParameterTypes());
-            return realMethod.invoke(object, args);
-		} catch (NoSuchMethodException e) {
-			return NULL_VALUES.get(method.getReturnType());
-		} catch (Throwable t) {
-			throw t;
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/EditMask.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/EditMask.java
deleted file mode 100644
index 484922e..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/EditMask.java
+++ /dev/null
@@ -1,451 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 The Pampered Chef and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     The Pampered Chef - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.mask;
-
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeSupport;
-
-import org.eclipse.jface.examples.databinding.mask.internal.EditMaskParser;
-import org.eclipse.jface.examples.databinding.mask.internal.SWTUtil;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.VerifyEvent;
-import org.eclipse.swt.events.VerifyListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Ensures text widget has the format specified by the edit mask.  Edit masks
- * are currently defined as follows:
- * 
- * The following characters are reserved words that match specific kinds of 
- * characters:
- * 
- * # - digits 0-9
- * A - uppercase A-Z
- * a - upper or lowercase a-z, A-Z
- * n - alphanumeric 0-9, a-z, A-Z
- *
- * All other characters are literals.  The above characters may be turned into
- * literals by preceeding them with a backslash.  Use two backslashes to
- * denote a backslash.
- * 
- * Examples:
- * 
- * (###) ###-####  U.S. phone number 
- * ###-##-####     U.S. Social Security number
- * \\\###          A literal backslash followed by a literal pound symbol followed by two digits
- * 
- * Ideas for future expansion:
- * 
- * Quantifiers as postfix modifiers to a token.  ie:
- * 
- * #{1, 2}/#{1,2}/####   MM/DD/YYYY date format allowing 1 or 2 digit month or day
- * 
- * Literals may only be quantified as {0,1} which means that they only appear
- * if placeholders on both sides of the literal have data.  This will be used
- * along with:
- * 
- * Right-to-left support for numeric entry.  When digits are being entered and
- * a decimal point is present in the mask, digits to the left of the decimal
- * are entered right-to-left but digits to the right of the decimal left-to-right.
- * This might need to be a separate type of edit mask. (NumericMask, maybe?)
- * 
- * Example:
- * 
- * $#{0,3},{0,1}#{0,3}.#{0,2}  ie: $123,456.12 or $12.12 or $1,234.12 or $123.12
- *
- * 
- * Here's the basic idea of how the current implementation works (the actual 
- * implementation is slightly more abstracted and complicated than this):
- * 
- * We always let the verify event pass if the user typed a new character or selected/deleted anything.
- * During the verify event, we post an async runnable.
- * Inside that async runnable, we:
- *   - Remember the selection position
- *   - getText(), then
- *   - Strip out all literal characters from text
- *   - Truncate the resulting string to raw length of edit mask without literals
- *   - Insert literal characters back in the correct positions
- *   - setText() the resulting string
- *   - reset the selection to the correct location
- *   
- * @since 3.3
- */
-public class EditMask {
-	
-	public static final String FIELD_TEXT = "text";
-	public static final String FIELD_RAW_TEXT = "rawText";
-	public static final String FIELD_COMPLETE = "complete";
-	protected Text text;
-	protected EditMaskParser editMaskParser;
-	private boolean fireChangeOnKeystroke = true;
-	private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);
-	
-	protected String oldValidRawText = "";
-	protected String oldValidText = ""; 
-	
-	/**
-	 * Creates an instance that wraps around a text widget and manages its<br>
-	 * formatting.
-	 * 
-	 * @param text
-	 * @param editMask
-	 */
-	public EditMask(Text text) {
-		this.text = text;
-	}
-	
-	/**
-	 * @return the underlying Text control used by EditMask
-	 */
-	public Text getControl() {
-		return this.text;
-	}
-	
-	/**
-	 * Set the edit mask string on the edit mask control.
-	 * 
-	 * @param editMask The edit mask string
-	 */
-	public void setMask(String editMask) {
-		editMaskParser = new EditMaskParser(editMask);
-		text.addVerifyListener(verifyListener);
-		text.addFocusListener(focusListener);
-		text.addDisposeListener(disposeListener);
-		updateTextField.run();
-		oldValidText = text.getText();
-		oldValidRawText = editMaskParser.getRawResult();
-	}
-
-    /**
-     * @param string Sets the text string in the receiver
-     */
-    public void setText(String string) {
-    	String oldValue = text.getText();
-    	if (editMaskParser != null) {
-			editMaskParser.setInput(string);
-			String formattedResult = editMaskParser.getFormattedResult();
-			text.setText(formattedResult);
-			firePropertyChange(FIELD_TEXT, oldValue, formattedResult);
-    	} else {
-    		text.setText(string);
-			firePropertyChange(FIELD_TEXT, oldValue, string);
-    	}
-		oldValidText = text.getText();
-		oldValidRawText = editMaskParser.getRawResult();
-	}
-
-	/**
-	 * @return the actual (formatted) text
-	 */
-	public String getText() {
-		if (editMaskParser != null) {
-			return editMaskParser.getFormattedResult();
-		}
-		return text.getText();
-	}
-	
-	/**
-	 * setRawText takes raw text as a parameter but formats it before
-	 * setting the text in the Text control.
-	 * 
-	 * @param string the raw (unformatted) text
-	 */
-	public void setRawText(String string)  {
-		if (string == null) {
-			string = "";
-		}
-		if (editMaskParser != null) {
-			String oldValue = editMaskParser.getRawResult();
-			editMaskParser.setInput(string);
-			text.setText(editMaskParser.getFormattedResult());
-			firePropertyChange(FIELD_RAW_TEXT, oldValue, string);
-		} else {
-	    	String oldValue = text.getText();
-    		text.setText(string);
-			firePropertyChange(FIELD_RAW_TEXT, oldValue, string);
-		}
-		oldValidText = text.getText();
-		oldValidRawText = editMaskParser.getRawResult();
-	}
-
-	/**
-	 * @return The input text with literals removed
-	 */
-	public String getRawText() {
-		if (editMaskParser != null) {
-			return editMaskParser.getRawResult();
-		}
-		return text.getText();
-	}
-	
-	/**
-	 * @return true if the field is complete according to the mask; false otherwise
-	 */
-	public boolean isComplete() {
-		if (editMaskParser == null) {
-			return true;
-		}
-		return editMaskParser.isComplete();
-	}
-	
-	/**
-	 * Returns the placeholder character.  The placeholder 
-	 * character must be a different character than any character that is 
-	 * allowed as input anywhere in the edit mask.  For example, if the edit
-	 * mask permits spaces to be used as input anywhere, the placeholder 
-	 * character must be something other than a space character.
-	 * <p>
-	 * The space character is the default placeholder character.
-	 * 
-	 * @return the placeholder character
-	 */
-	public char getPlaceholder() {
-		if (editMaskParser == null) {
-			throw new IllegalArgumentException("Have to set an edit mask first");
-		}
-		return editMaskParser.getPlaceholder();
-	}
-	
-	/**
-	 * Sets the placeholder character for the edit mask.  The placeholder 
-	 * character must be a different character than any character that is 
-	 * allowed as input anywhere in the edit mask.  For example, if the edit
-	 * mask permits spaces to be used as input anywhere, the placeholder 
-	 * character must be something other than a space character.
-	 * <p>
-	 * The space character is the default placeholder character.
-	 * 
-	 * @param placeholder The character to use as a placeholder
-	 */
-	public void setPlaceholder(char placeholder) {
-		if (editMaskParser == null) {
-			throw new IllegalArgumentException("Have to set an edit mask first");
-		}
-		editMaskParser.setPlaceholder(placeholder);
-		updateTextField.run();
-		oldValidText = text.getText();
-	}
-
-	/**
-	 * Indicates if change notifications will be fired after every keystroke
-	 * that affects the value of the rawText or only when the value is either
-	 * complete or empty.
-	 * 
-	 * @return true if every change (including changes from one invalid state to
-	 *         another) triggers a change event; false if only empty or valid
-	 *         values trigger a change event.  Defaults to false.
-	 */
-	public boolean isFireChangeOnKeystroke() {
-		return fireChangeOnKeystroke;
-	}
-
-	/**
-	 * Sets if change notifications will be fired after every keystroke that
-	 * affects the value of the rawText or only when the value is either
-	 * complete or empty.
-	 * 
-	 * @param fireChangeOnKeystroke
-	 *            true if every change (including changes from one invalid state
-	 *            to another) triggers a change event; false if only empty or
-	 *            valid values trigger a change event.  Defaults to false.
-	 */
-	public void setFireChangeOnKeystroke(boolean fireChangeOnKeystroke) {
-		this.fireChangeOnKeystroke = fireChangeOnKeystroke;
-	}
-
-	/**
-	 * JavaBeans boilerplate code...
-	 * 
-	 * @param listener
-	 */
-	public void addPropertyChangeListener(PropertyChangeListener listener) {
-		propertyChangeSupport.addPropertyChangeListener(listener);
-	}
-
-	/**
-	 * JavaBeans boilerplate code...
-	 * 
-	 * @param propertyName
-	 * @param listener
-	 */
-	public void addPropertyChangeListener(String propertyName,
-			PropertyChangeListener listener) {
-		propertyChangeSupport.addPropertyChangeListener(propertyName, listener);
-	}
-
-	/**
-	 * JavaBeans boilerplate code...
-	 * 
-	 * @param listener
-	 */
-	public void removePropertyChangeListener(PropertyChangeListener listener) {
-		propertyChangeSupport.removePropertyChangeListener(listener);
-	}
-
-	/**
-	 * JavaBeans boilerplate code...
-	 * 
-	 * @param propertyName
-	 * @param listener
-	 */
-	public void removePropertyChangeListener(String propertyName,
-			PropertyChangeListener listener) {
-		propertyChangeSupport.removePropertyChangeListener(propertyName,
-				listener);
-	}
-
-	private boolean isEitherValueNotNull(Object oldValue, Object newValue) {
-		return oldValue != null || newValue != null;
-	}
-
-	private void firePropertyChange(String propertyName, Object oldValue,
-			Object newValue) {
-		if (isEitherValueNotNull(oldValue, newValue)) {
-			propertyChangeSupport.firePropertyChange(propertyName,
-					oldValue, newValue);
-		}
-	}
-
-	protected boolean updating = false;
-
-	protected int oldSelection = 0;
-	protected int selection = 0;
-	protected String oldRawText = "";
-   protected boolean replacedSelectedText = false;
-	
-	private VerifyListener verifyListener = new VerifyListener() {
-		public void verifyText(VerifyEvent e) {
-         // If the edit mask is already full, don't let the user type
-         // any new characters
-         if (editMaskParser.isComplete() && // should eventually be .isFull() to account for optional characters
-               e.start == e.end && 
-               e.text.length() > 0) 
-         {
-            e.doit=false;
-            return;
-         }
-         
-			oldSelection = selection;
-			Point selectionRange = text.getSelection();
-         selection = selectionRange.x;
-         
-			if (!updating) {
-   			replacedSelectedText = false;
-   			if (selectionRange.y - selectionRange.x > 0 && e.text.length() > 0) {
-   			   replacedSelectedText = true;
-   			}
-            // If the machine is loaded down (ie: spyware, malware), we might
-            // get another keystroke before asyncExec can process, so we use 
-            // greedyExec instead.
-            SWTUtil.greedyExec(Display.getCurrent(), updateTextField);
-//				Display.getCurrent().asyncExec(updateTextField);
-         }
-		}
-	};
-
-	private Runnable updateTextField = new Runnable() {
-		public void run() {
-			updating = true;
-			try {
-				if (!text.isDisposed()) {
-					Boolean oldIsComplete = new Boolean(editMaskParser.isComplete());
-				
-					editMaskParser.setInput(text.getText());
-					text.setText(editMaskParser.getFormattedResult());
-					String newRawText = editMaskParser.getRawResult();
-				
-					updateSelectionPosition(newRawText);
-					firePropertyChangeEvents(oldIsComplete, newRawText);
-				}
-			} finally {
-				updating = false;
-			}
-		}
-
-		private void updateSelectionPosition(String newRawText) {
-
-         // Adjust the selection
-         if (isInsertingNewCharacter(newRawText) || replacedSelectedText) {
-            // Find the position after where the new character was actually inserted
-            int selectionDelta = 
-               editMaskParser.getNextInputPosition(oldSelection)
-               - oldSelection;
-            if (selectionDelta == 0) {
-               selectionDelta = editMaskParser.getNextInputPosition(selection)
-               - selection;
-            }
-            selection += selectionDelta;
-         }
-         
-			// Did we just type something that was accepted by the mask?
-			if (!newRawText.equals(oldRawText)) { // yep
-            
-            // If the user hits <end>, bounce them back to the end of their actual input
-				int firstIncompletePosition = editMaskParser.getFirstIncompleteInputPosition();
-				if (firstIncompletePosition > 0 && selection > firstIncompletePosition)
-					selection = firstIncompletePosition;
-				text.setSelection(new Point(selection, selection));
-            
-			} else { // nothing was accepted by the mask
-            
-				// Either we backspaced over a literal or we typed an illegal character
-				if (selection > oldSelection) { // typed an illegal character; backup
-					text.setSelection(new Point(selection-1, selection-1));
-				} else { // backspaced over a literal; don't interfere with selection position
-					text.setSelection(new Point(selection, selection));
-				}
-			}
-			oldRawText = newRawText;
-		}
-
-		private boolean isInsertingNewCharacter(String newRawText) {
-			return newRawText.length() > oldRawText.length();
-		}
-
-		private void firePropertyChangeEvents(Boolean oldIsComplete, String newRawText) {
-			Boolean newIsComplete = new Boolean(editMaskParser.isComplete());
-			if (!oldIsComplete.equals(newIsComplete)) {
-				firePropertyChange(FIELD_COMPLETE, oldIsComplete, newIsComplete);
-			}
-			if (!newRawText.equals(oldValidRawText)) {
-				if ( newIsComplete.booleanValue() || "".equals(newRawText) || fireChangeOnKeystroke) {
-					firePropertyChange(FIELD_RAW_TEXT, oldValidRawText, newRawText);
-					firePropertyChange(FIELD_TEXT, oldValidText, text.getText());
-					oldValidText = text.getText();
-					oldValidRawText = newRawText;
-				}
-			}
-		}
-	};
-	
-	private FocusListener focusListener = new FocusAdapter() {
-		public void focusGained(FocusEvent e) {
-			selection = editMaskParser.getFirstIncompleteInputPosition();
-			text.setSelection(selection, selection);
-		}
-	};
-	
-	private DisposeListener disposeListener = new DisposeListener() {
-		public void widgetDisposed(DisposeEvent e) {
-			text.removeVerifyListener(verifyListener);
-			text.removeFocusListener(focusListener);
-			text.removeDisposeListener(disposeListener);
-		}
-	};
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/EditMaskParseException.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/EditMaskParseException.java
deleted file mode 100644
index f2b6aec..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/EditMaskParseException.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 The Pampered Chef and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     The Pampered Chef - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.mask;
-
-/**
- * Indicates a parse error while parsing an edit mask.
- * 
- * @since 3.3
- */
-public class EditMaskParseException extends RuntimeException {
-
-	private static final long serialVersionUID = 8142999683999681500L;
-
-	/**
-	 * Construct a MaskParseException
-	 */
-	public EditMaskParseException() {
-		super();
-	}
-
-	/**
-	 * @param message
-	 * @param cause
-	 */
-	public EditMaskParseException(String message, Throwable cause) {
-		super(message, cause);
-	}
-
-	/**
-	 * @param message
-	 */
-	public EditMaskParseException(String message) {
-		super(message);
-	}
-
-	/**
-	 * @param cause
-	 */
-	public EditMaskParseException(Throwable cause) {
-		super(cause);
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/EditMaskTest.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/EditMaskTest.java
deleted file mode 100644
index 49c9c1c..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/EditMaskTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.mask;
-
-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;
-
-public class EditMaskTest {
-
-   public static void main(String[] args) {
-      Display display = new Display();
-      Shell shell = new Shell(display);
-
-      Text text = new Text(shell, SWT.BORDER);
-      text.setText("XXXXXXXXXXXXX");// Put some X's in there to pad out the field's default size
-      
-      Text text2 = new Text(shell, SWT.BORDER);
-      text2.setText("630XXXXXXXXXX");
-      
-      shell.setLayout(new RowLayout(SWT.VERTICAL));
-      shell.setSize(800, 600);
-      
-      new EditMask(text).setMask("(###) ###-####");
-      new EditMask(text2).setMask("(###) ###-####");
-      
-      shell.open();
-      while (!shell.isDisposed()) {
-         if (!display.readAndDispatch()) {
-            display.sleep();
-         }
-      }
-   }
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/internal/EditMaskLexerAndToken.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/internal/EditMaskLexerAndToken.java
deleted file mode 100644
index d9c61b4..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/internal/EditMaskLexerAndToken.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 The Pampered Chef and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     The Pampered Chef - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.mask.internal;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.examples.databinding.mask.EditMaskParseException;
-
-/**
- * Lexical analyzer and token for an input mask.  Since input masks have exactly
- * one token type, we use the same class to be the recognizer and the token 
- * itself.
- * 
- * @since 3.3
- */
-public class EditMaskLexerAndToken {
-
-	/*
-	 * First the literals that represent the types of characters
-	 */
-	private static ArrayList reservedWords = new ArrayList();{
-		reservedWords.add("#");
-		reservedWords.add("A");
-		reservedWords.add("a");
-		reservedWords.add("n");
-	}
-	
-	/*
-	 * ...and their corresponding regular expressions
-	 */
-	private static ArrayList inputRegexes = new ArrayList();{
-		inputRegexes.add("^[0-9]$");
-		inputRegexes.add("^[A-Z]$");
-		inputRegexes.add("^[a-zA-Z]$");
-		inputRegexes.add("^[0-9a-zA-Z]$");
-	}
-	
-	private String charRegex = null;	// A regex for matching input characters or null
-	private String literal = null;		// The literal character if charRegex is null
-	private boolean readOnly;
-	private String input = null;		// The user's input
-	
-	private boolean recognizeReservedWord(String inputMask, int position) {
-		String input = inputMask.substring(position, position+1);
-		for (int reservedWord = 0; reservedWord < reservedWords.size(); reservedWord++) {
-			if (input.equals(reservedWords.get(reservedWord))) {
-				charRegex = (String) inputRegexes.get(reservedWord);
-				literal = null;
-				input = null;
-				readOnly = false;
-				return true;
-			}
-		}
-		return false;
-	}
-
-	private boolean recognizeBackslashLiteral(String inputMask, int position) throws EditMaskParseException {
-		String input = inputMask.substring(position, position+1);
-		if (input.equals("\\")) {
-			try {
-				input = inputMask.substring(position+1, position+2);
-				charRegex = null;
-				this.input = input;
-				literal = input;
-				readOnly = true;
-				return true;
-			} catch (Throwable t) {
-				throw new EditMaskParseException("Found a \\ without a character after it: " + inputMask);
-			}
-		}
-		return false;
-	}
-
-	private boolean recognizeLiteral(String inputMask, int position) {
-		literal = inputMask.substring(position, position+1);
-		this.input = literal;
-		charRegex = null;
-		readOnly = true;
-		return true;
-	}
-
-	/**
-	 * Initializes itself based on characters in edit mask starting at position; 
-	 * returns number of chars consumed
-	 * 
-	 * @param inputMask The entire edit mask
-	 * @param position The position to begin parsing
-	 * @return The number of characters consumed
-	 * @throws EditMaskParseException If it encountered a syntax error during the parse
-	 */
-	public int initializeEditMask(String inputMask, int position) throws EditMaskParseException {
-		clear();
-		if (recognizeReservedWord(inputMask, position)) {
-			return 1;
-		}
-		if (recognizeBackslashLiteral(inputMask, position)) {
-			return 2;
-		}
-		if (!recognizeLiteral(inputMask, position)) {
-			throw new EditMaskParseException("Should never see this error in this implementation!");
-		}
-		readOnly = true;
-		return 1;
-	}
-
-	/**
-	 * ignores invalid input; stores valid input
-	 * @param inputCharacter 
-	 * @return 
-	 */
-	public boolean accept(String inputCharacter) {
-		if (readOnly) {
-			return false;
-		}
-		if (literal != null) {
-			return false;
-		}
-		if (!canAcceptMoreCharacters()) {
-			return false;
-		}
-		if (inputCharacter.matches(charRegex)) {
-			this.input = inputCharacter;
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * @return Returns the characters it has accepted.  In the current implementation,
-	 * this is exactly one character.  Once quantifiers are implemented, this could
-	 * be many characters.  If no characters have been accepted, returns null.
-	 */
-	public String getInput() {
-		return input;
-	}
-	
-	/**
-	 * Clear any accepted input
-	 */
-	public void clear() {
-		if (!isReadOnly())
-			input = null;
-	}
-
-	/**
-	 * @return true if it's a literal; false if it's a placeholder
-	 */
-	public boolean isReadOnly() {
-		return readOnly;
-	}
-
-	/**
-	 * @return true if it is a literal or if it has accepted the minimum 
-	 * required number of characters
-	 */
-	public boolean isComplete() {
-		if (input != null) {
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * @return A position may be complete and yet able to accept more characters if
-	 * the position includes optional characters via a quantifier of some type.
-	 * Not implemented right now.
-	 */
-	public boolean canAcceptMoreCharacters() {
-		return !isComplete();
-	}
-
-	/**
-	 * @return the minimum number of characters this RegexLexer must accept 
-	 * in order to be complete.  Because we don't yet support quantifiers, this
-	 * is currently always 1.
-	 */
-	public int getMinimumLength() {
-		return 1;
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/internal/EditMaskParser.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/internal/EditMaskParser.java
deleted file mode 100644
index fc87f9e..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/internal/EditMaskParser.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 The Pampered Chef and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     The Pampered Chef - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.mask.internal;
-
-import java.util.LinkedList;
-
-import org.eclipse.jface.examples.databinding.mask.EditMaskParseException;
-
-/**
- * @since 3.3
- */
-public class EditMaskParser {
-	private EditMaskLexerAndToken[] expectedTokens;
-	private char placeholder = ' ';
-	
-	/**
-	 * @param editMask The complete edit mask 
-	 * @throws EditMaskParseException
-	 */
-	public EditMaskParser(String editMask) throws EditMaskParseException {
-		LinkedList tokens = new LinkedList();
-		int position = 0;
-		while (position < editMask.length()) {
-			EditMaskLexerAndToken token = new EditMaskLexerAndToken();
-			position += token.initializeEditMask(editMask, position);
-			tokens.add(token);
-		}
-		expectedTokens = (EditMaskLexerAndToken[]) tokens.toArray(new EditMaskLexerAndToken[tokens.size()]);
-	}
-	
-	/**
-	 * @param input the user input which may or may not be in valid format
-	 */
-	public void setInput(String input) {
-		for (int i = 0; i < expectedTokens.length; i++) {
-			expectedTokens[i].clear();
-		}
-		int tokenPosition = 0;
-		int inputPosition = 0;
-		while (inputPosition < input.length() && tokenPosition < expectedTokens.length) {
-			while (tokenPosition < expectedTokens.length &&
-					(expectedTokens[tokenPosition].isComplete() || 
-					 expectedTokens[tokenPosition].isReadOnly())) 
-			{
-				++tokenPosition;
-			}
-			if (tokenPosition < expectedTokens.length) {
-				while (inputPosition < input.length() && !expectedTokens[tokenPosition].isComplete()) {
-					String inputChar = input.substring(inputPosition, inputPosition+1);
-					expectedTokens[tokenPosition].accept(inputChar);
-					++inputPosition;
-				}
-			}
-		}
-	}
-	
-	/**
-	 * @return the formatted version of the user input
-	 */
-	public String getFormattedResult() {
-		StringBuffer result = new StringBuffer();
-		for (int i = 0; i < expectedTokens.length; i++) {
-			String outputChar = expectedTokens[i].getInput();
-			if (outputChar == null) {
-				outputChar = "" + placeholder;
-			}
-			result.append(outputChar);
-		}
-		return result.toString();
-	}
-	
-	/**
-	 * @return the user input with all literals removed
-	 */
-	public String getRawResult() {
-		StringBuffer result = new StringBuffer();
-		for (int i = 0; i < expectedTokens.length; i++) {
-			if (expectedTokens[i].isReadOnly()) {
-				continue;
-			}
-			String outputChar = expectedTokens[i].getInput();
-			if (outputChar == null) {
-				outputChar = "";
-			}
-			result.append(outputChar);
-		}
-		return result.toString();
-	}
-
-	/**
-	 * @return true if the current input is a valid input
-	 */
-	public boolean isComplete() {
-		for (int i = 0; i < expectedTokens.length; i++) {
-			if (!expectedTokens[i].isComplete()) {
-				return false;
-			}
-		}
-		return true;
-	}
-	
-	/**
-	 * @param startingAt The current index within the user input string
-	 * @return The first non-read-only index greater than or equal to startingAt
-	 */
-	public int getNextInputPosition(int startingAt) {
-		while (startingAt < expectedTokens.length-1 && expectedTokens[startingAt].isReadOnly()) {
-			++startingAt;
-		}
-		return startingAt;
-	}
-	
-	/**
-	 * @return the first input position whose token is not marked as complete.  Returns -1 if all are complete
-	 */
-	public int getFirstIncompleteInputPosition() {
-		for (int position = 0; position < expectedTokens.length; position++) {
-			if (!expectedTokens[position].isComplete()) {
-				return position;
-			}
-		}
-		return -1;
-	}
-
-	/**
-	 * @return Returns the placeholder.
-	 */
-	public char getPlaceholder() {
-		return placeholder;
-	}
-
-	/**
-	 * @param placeholder The placeholder to set.
-	 */
-	public void setPlaceholder(char placeholder) {
-		this.placeholder = placeholder;
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/internal/SWTUtil.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/internal/SWTUtil.java
deleted file mode 100644
index 333449c..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/internal/SWTUtil.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jface.examples.databinding.mask.internal;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @since 1.0
- */
-public class SWTUtil {
-    /**
-     * Stores a work queue for each display
-     */
-    private static Map mapDisplayOntoWorkQueue = new HashMap();
-
-    private SWTUtil() {
-    }
-
-    /**
-     * Runs the given runnable on the given display as soon as possible. If
-     * possible, the runnable will be executed before the next widget is
-     * repainted, but this behavior is not guaranteed. Use this method to
-     * schedule work will affect the way one or more widgets are drawn.
-     * 
-     * <p>
-     * This is threadsafe.
-     * </p>
-     * 
-     * @param d
-     *            display
-     * @param r
-     *            runnable to execute in the UI thread.
-     */
-    public static void greedyExec(Display d, Runnable r) {
-        if (d.isDisposed()) {
-            return;
-        }
-
-        // if (Display.getCurrent() == d) {
-        // r.run();
-        // } else {
-        WorkQueue queue = getQueueFor(d);
-        queue.asyncExec(r);
-        // }
-    }
-
-    /**
-     * Runs the given runnable on the given display as soon as possible. Unlike
-     * greedyExec, this has no effect if the given runnable has already been
-     * scheduled for execution. Use this method to schedule work that will
-     * affect the way one or more wigdets are drawn, but that should only happen
-     * once.
-     * 
-     * <p>
-     * This is threadsafe.
-     * </p>
-     * 
-     * @param d
-     *            display
-     * @param r
-     *            runnable to execute in the UI thread. Has no effect if the
-     *            given runnable has already been scheduled but has not yet run.
-     */
-    public static void runOnce(Display d, Runnable r) {
-        if (d.isDisposed()) {
-            return;
-        }
-        WorkQueue queue = getQueueFor(d);
-        queue.runOnce(r);
-    }
-
-    /**
-     * Cancels a greedyExec or runOnce that was previously scheduled on the
-     * given display. Has no effect if the given runnable is not in the queue
-     * for the given display
-     * 
-     * @param d
-     *            target display
-     * @param r
-     *            runnable to execute
-     */
-    public static void cancelExec(Display d, Runnable r) {
-        if (d.isDisposed()) {
-            return;
-        }
-        WorkQueue queue = getQueueFor(d);
-        queue.cancelExec(r);
-    }
-
-    /**
-     * Returns the work queue for the given display. Creates a work queue if
-     * none exists yet.
-     * 
-     * @param d
-     *            display to return queue for
-     * @return a work queue (never null)
-     */
-    private static WorkQueue getQueueFor(final Display d) {
-        WorkQueue result;
-        synchronized (mapDisplayOntoWorkQueue) {
-            // Look for existing queue
-            result = (WorkQueue) mapDisplayOntoWorkQueue.get(d);
-
-            if (result == null) {
-                // If none, create new queue
-                result = new WorkQueue(d);
-                final WorkQueue q = result;
-                mapDisplayOntoWorkQueue.put(d, result);
-                d.asyncExec(new Runnable() {
-                    public void run() {
-                        d.disposeExec(new Runnable() {
-                            public void run() {
-                                synchronized (mapDisplayOntoWorkQueue) {
-                                    q.cancelAll();
-                                    mapDisplayOntoWorkQueue.remove(d);
-                                }
-                            }
-                        });
-                    }
-                });
-            }
-            return result;
-        }
-    }
-    
-    /**
-     * @param rgb1
-     * @param rgb2
-     * @param ratio
-     * @return the RGB object
-     */
-    public static RGB mix(RGB rgb1, RGB rgb2, double ratio) {
-        return new RGB(interp(rgb1.red, rgb2.red, ratio), 
-                interp(rgb1.green, rgb2.green, ratio),
-                interp(rgb1.blue, rgb2.blue, ratio));
-    }
-    
-    private static int interp(int i1, int i2, double ratio) {
-        int result = (int)(i1 * ratio + i2 * (1.0d - ratio));
-        if (result < 0) result = 0;
-        if (result > 255) result = 255;
-        return result;
-    }
-
-	/**
-	 * Logs an exception as though it was thrown by a SafeRunnable
-	 * being run with the default ISafeRunnableRunner. Will not
-	 * open modal dialogs or spin the event loop.
-	 * 
-	 * @param t throwable to log
-	 */
-	public static void logException(final Exception t) {
-		SafeRunnable.run(new SafeRunnable() {
-			public void run() throws Exception {
-				throw t;
-			}
-			public void handleException(Throwable e) {
-				// IMPORTANT: Do not call the super implementation, since
-				// it opens a modal dialog, and may cause *syncExecs to run
-				// too early.
-			}
-		});
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/internal/WorkQueue.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/internal/WorkQueue.java
deleted file mode 100644
index e5eeaea..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/mask/internal/WorkQueue.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jface.examples.databinding.mask.internal;
-
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.Set;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-
-/**
- * @since 3.2
- *
- */
-public class WorkQueue {
-	
-    private boolean updateScheduled = false;
-
-    private boolean paintListenerAttached = false;
-
-    private LinkedList pendingWork = new LinkedList();
-
-    private Display d;
-
-    private Set pendingWorkSet = new HashSet();
-
-    private Runnable updateJob = new Runnable() {
-        public void run() {
-            doUpdate();
-            updateScheduled = false;
-        }
-    };
-
-    private Listener paintListener = new Listener() {
-        public void handleEvent(Event event) {
-            paintListenerAttached = false;
-            d.removeFilter(SWT.Paint, this);
-            doUpdate();
-        }
-    };
-
-    /**
-     * @param targetDisplay
-     */
-    public WorkQueue(Display targetDisplay) {
-        d = targetDisplay;
-    }
-
-    private void doUpdate() {
-        for (;;) {
-            Runnable next;
-            synchronized (pendingWork) {
-                if (pendingWork.isEmpty()) {
-                    break;
-                }
-                next = (Runnable) pendingWork.removeFirst();
-                pendingWorkSet.remove(next);
-            }
-
-            next.run();
-        }
-        
-    }
-
-    /**
-     * Schedules some work to happen in the UI thread as soon as possible. If
-     * possible, the work will happen before the next control redraws. The given
-     * runnable will only be run once. Has no effect if this runnable has
-     * already been queued for execution.
-     * 
-     * @param work
-     *            runnable to execute
-     */
-    public void runOnce(Runnable work) {
-        synchronized (pendingWork) {
-            if (pendingWorkSet.contains(work)) {
-                return;
-            }
-
-            pendingWorkSet.add(work);
-
-            asyncExec(work);
-        }
-    }
-
-    /**
-     * Schedules some work to happen in the UI thread as soon as possible. If
-     * possible, the work will happen before the next control redraws. Unlike
-     * runOnce, calling asyncExec twice with the same runnable will cause that
-     * runnable to run twice.
-     * 
-     * @param work
-     *            runnable to execute
-     */
-    public void asyncExec(Runnable work) {
-        synchronized (pendingWork) {
-            pendingWork.add(work);
-            if (!updateScheduled) {
-                updateScheduled = true;
-                d.asyncExec(updateJob);
-            }
-
-            // If we're in the UI thread, add an event filter to ensure
-            // the work happens ASAP
-            if (Display.getCurrent() == d) {
-                if (!paintListenerAttached) {
-                    paintListenerAttached = true;
-                    d.addFilter(SWT.Paint, paintListener);
-                }
-            }
-        }
-    }
-
-    /**
-     * Cancels a previously-scheduled runnable. Has no effect if the given
-     * runnable was not previously scheduled or has already executed.
-     * 
-     * @param toCancel
-     *            runnable to cancel
-     */
-    public void cancelExec(Runnable toCancel) {
-        synchronized (pendingWork) {
-            pendingWork.remove(toCancel);
-            pendingWorkSet.remove(toCancel);
-        }
-    }
-
-    /**
-     * Cancels all pending work.
-     */
-    public void cancelAll() {
-        synchronized (pendingWork) {
-            pendingWork.clear();
-            pendingWorkSet.clear();
-        }
-    }
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Account.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Account.java
deleted file mode 100644
index 7509d64..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Account.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-import java.util.Date;
-
-import org.eclipse.jface.examples.databinding.ModelObject;
-
-public class Account extends ModelObject {
-
-	private String country;
-	private String firstName;
-	private String lastName;
-	private String state;
-	private String phone;	
-	private Date expiryDate;
-
-	public void setFirstName(String string) {
-		String oldValue = firstName;
-		firstName = string;
-		firePropertyChange("firstName", oldValue, string);		
-	}
-
-	public void setLastName(String string) {
-		String oldValue = lastName;
-		lastName = string;
-		firePropertyChange("lastName", oldValue, string);				
-	}
-
-	public void setState(String string) {
-		String oldValue = state;
-		state = string;
-		firePropertyChange("state", oldValue, string);		
-	}
-
-	public void setPhone(String string) {
-		String oldValue = phone;
-		phone = string;
-		firePropertyChange("phone", oldValue, phone);		
-	}
-
-	public void setCountry(String string) {
-		Object oldValue = country;
-		country = string;
-		firePropertyChange("country", oldValue, string);
-	}
-
-	public String getCountry() {
-		return country;
-	}
-
-	public String getFirstName() {
-		return firstName;
-	}
-
-	public String getLastName() {
-		return lastName;
-	}
-
-	public String getState() {
-		return state;
-	}
-
-	public String getPhone() {
-		return phone;
-	}
-
-	public Date getExpiryDate() {
-		return expiryDate;
-	}
-
-	public void setExpiryDate(Date expiryDate) {
-		firePropertyChange("expiryDate", this.expiryDate,
-				this.expiryDate = expiryDate);
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Adventure.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Adventure.java
deleted file mode 100644
index d78eed0..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Adventure.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-import org.eclipse.core.databinding.validation.IValidator;
-import org.eclipse.core.databinding.validation.ValidationStatus;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.examples.databinding.ModelObject;
-
-public class Adventure extends ModelObject {
-
-	private boolean petsAllowed;
-
-	private double price;
-
-	private Lodging defaultLodging;
-
-	private String name;
-
-	private String description;
-
-	private String location;
-	
-	private int maxNumberOfPeople;
-
-	public String getName() {
-		return name;
-	}
-
-	public void setName(String string) {
-		Object oldValue = name;
-		name = string;
-		firePropertyChange("name", oldValue, name);
-	}
-	
-	public int getMaxNumberOfPeople(){
-		return maxNumberOfPeople;
-	}
-	
-	public void setMaxNumberOfPeople(int anInt) {
-		int oldValue = maxNumberOfPeople;
-		maxNumberOfPeople = anInt;
-		firePropertyChange("maxNumberOfPeople", oldValue, maxNumberOfPeople);
-	}
-	
-	public IValidator getMaxNumberOfPeopleDomainValidator() {
-		return new IValidator() {
-			public IStatus validate(Object value) {
-				int intValue = ((Integer)value).intValue();
-				if (intValue < 1 || intValue > 20) {
-					return ValidationStatus
-							.error("Max number of people must be between 1 and 20 inclusive");
-				}
-				return null;
-			}
-		};
-	}
-
-	public Lodging getDefaultLodging() {
-		return defaultLodging;
-	}
-
-	public void setDefaultLodging(Lodging lodging) {
-		Object oldValue = defaultLodging;
-		defaultLodging = lodging;
-		firePropertyChange("defaultLodging", oldValue, defaultLodging);
-	}
-
-	public void setPrice(double d) {
-		double oldValue = price;
-		price = d;
-		firePropertyChange("price", new Double(oldValue), new Double(price));
-	}
-
-	public double getPrice() {
-		return price;
-	}
-
-	public void setPetsAllowed(boolean b) {
-		boolean oldValue = petsAllowed;
-		petsAllowed = b;
-		firePropertyChange("petsAllowed", new Boolean(oldValue), new Boolean(
-				petsAllowed));
-	}
-
-	public boolean isPetsAllowed() {
-		return petsAllowed;
-	}
-
-	public void setDescription(String string) {
-		Object oldValue = description;
-		description = string;
-		firePropertyChange("description", oldValue, description);
-	}
-
-	public void setLocation(String string) {
-		Object oldValue = location;
-		location = string;
-		firePropertyChange("location", oldValue, location);
-	}
-
-	public String getDescription() {
-		return description;
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/AdventureFactory.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/AdventureFactory.java
deleted file mode 100644
index 2b95e13..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/AdventureFactory.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-public class AdventureFactory {
-
-	public Catalog createCatalog() {
-		return new Catalog();
-	}
-
-	public Category createCategory() {
-		return new Category();
-	}
-
-	public Adventure createAdventure() {
-		return new Adventure();
-	}
-
-	public Lodging createLodging() {
-		return new Lodging();
-	}
-
-	public Transportation createTransportation() {
-		return new Transportation();
-	}
-
-	public Account createAccount() {
-		return new Account();
-	}
-
-	public Cart createCart() {
-		return new Cart();
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/AggregateObservableValue.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/AggregateObservableValue.java
deleted file mode 100644
index 0606d43..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/AggregateObservableValue.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Brad Reynolds - bug 164653
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.databinding.observable.Diffs;
-import org.eclipse.core.databinding.observable.value.AbstractObservableValue;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.core.databinding.observable.value.IValueChangeListener;
-import org.eclipse.core.databinding.observable.value.ValueChangeEvent;
-
-/**
- * @since 3.2
- *
- */
-public class AggregateObservableValue extends AbstractObservableValue {
-
-	private IObservableValue[] observableValues;
-
-	private String delimiter;
-
-	private boolean updating = false;
-
-	private String currentValue;
-
-	private IValueChangeListener listener = new IValueChangeListener() {
-		public void handleValueChange(ValueChangeEvent event) {
-			if (!updating) {
-				fireValueChange(Diffs.createValueDiff(currentValue,
-						doGetValue()));
-			}
-		}
-	};
-
-	/**
-	 * @param observableValues
-	 * @param delimiter
-	 */
-	public AggregateObservableValue(IObservableValue[] observableValues,
-			String delimiter) {
-		this.observableValues = observableValues;
-		this.delimiter = delimiter;
-		for (int i = 0; i < observableValues.length; i++) {
-			observableValues[i].addValueChangeListener(listener);
-		}
-		doGetValue();
-	}
-
-	public void doSetValue(Object value) {
-		Object oldValue = doGetValue();
-		StringTokenizer tokenizer = new StringTokenizer((String) value,
-				delimiter);
-		try {
-			updating = true;
-			for (int i = 0; i < observableValues.length; i++) {
-				if (tokenizer.hasMoreElements()) {
-					observableValues[i].setValue(tokenizer.nextElement());
-				} else {
-					observableValues[i].setValue(null);
-				}
-			}
-		} finally {
-			updating = false;
-		}
-		doGetValue();
-		fireValueChange(Diffs.createValueDiff(oldValue, value));
-	}
-
-	public Object doGetValue() {
-		StringBuffer result = new StringBuffer();
-		for (int i = 0; i < observableValues.length; i++) {
-			if (i > 0 & i < observableValues.length) {
-				result.append(delimiter);
-			}
-			result.append(observableValues[i].getValue());
-		}
-		currentValue = result.toString();
-		return currentValue;
-	}
-
-	public Object getValueType() {
-		return String.class;
-	}
-
-	public void dispose() {
-		for (int i = 0; i < observableValues.length; i++) {
-			observableValues[i].removeValueChangeListener(listener);
-		}
-		super.dispose();
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Cart.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Cart.java
deleted file mode 100644
index b82f45e..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Cart.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-public class Cart {
-
-	public void setAdventureDays(int i) {
-		// TODO Auto-generated method stub
-		
-	}
-
-	public int getLodgingDays() {
-		// TODO Auto-generated method stub
-		return 0;
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Catalog.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Catalog.java
deleted file mode 100644
index edbae49..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Catalog.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.examples.databinding.ModelObject;
-
-public class Catalog extends ModelObject {
-
-	private Category[] categories = new Category[0];
-
-	private Lodging[] lodgings = new Lodging[0];
-
-	private Transportation[] transportations = new Transportation[0];
-
-	private Account[] accounts = new Account[0];
-	
-	private List signons = new ArrayList();
-	
-	public List getSignons(){
-		return signons;
-	}
-	
-	public void addSignon(Signon aSignon){
-		signons.add(aSignon);
-		firePropertyChange("signons",null,null);
-	}
-	
-	public void removeSignon(Signon aSignon){
-		signons.remove(aSignon);
-		firePropertyChange("signons",null,null);
-	}	
-
-	public Category[] getCategories() {
-		return categories;
-	}
-
-	public void addCategory(Category category) {
-		categories = (Category[]) append(categories, category);
-		firePropertyChange("categories", null, null);
-	}
-
-	public void addLodging(Lodging lodging) {
-		lodgings = (Lodging[]) append(lodgings, lodging);
-		firePropertyChange("lodgings", null, null);
-	}
-
-	public void addTransportation(Transportation transportation) {
-		transportations = (Transportation[]) append(transportations, transportation);
-		firePropertyChange("transportations", null, null);
-	}
-
-	public void addAccount(Account account) {
-		accounts = (Account[]) append(accounts, account);
-		firePropertyChange("accounts", null, null);
-	}
-
-	public Lodging[] getLodgings() {
-		return lodgings;
-	}
-
-	public void removeLodging(Lodging lodging) {
-		lodgings = (Lodging[]) remove(lodgings, lodging);
-		firePropertyChange("lodgings", null, null);
-	}
-	
-	public void removeAccount(Account anAccount) {
-		accounts = (Account[]) remove(accounts, anAccount);
-		firePropertyChange("accounts", null, null);
-	}	
-
-	public Account[] getAccounts() {
-		return accounts;
-	}
-	
-	public Transportation[] getTransporations(){
-		return transportations;
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Category.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Category.java
deleted file mode 100644
index 778a31c..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Category.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-import org.eclipse.jface.examples.databinding.ModelObject;
-
-public class Category extends ModelObject {
-
-	private String name;
-
-	private Adventure[] adventures = new Adventure[0];
-
-	public void setName(String string) {
-		Object oldValue = name;
-		name = string;
-		firePropertyChange("name", oldValue, name);
-	}
-
-	public void addAdventure(Adventure adventure) {
-		adventures = (Adventure[]) append(adventures, adventure);
-		firePropertyChange("adventures", null, null);
-	}
-
-	public Adventure[] getAdventures() {
-		return adventures;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Lodging.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Lodging.java
deleted file mode 100644
index 0b9d081..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Lodging.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-import org.eclipse.jface.examples.databinding.ModelObject;
-
-public class Lodging extends ModelObject {
-
-	private String name;
-	private String description;
-
-	public String getDescription() {
-		return description;
-	}
-
-	public void setDescription(String string) {
-		Object oldValue = description;
-		description = string;
-		firePropertyChange("description",oldValue,description);
-	}
-
-	public void setName(String string) {
-		Object oldValue = name;
-		name = string;
-		firePropertyChange("name",oldValue,name);
-	}
-	
-	public String getName() {
-		return name;
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/PriceModelObject.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/PriceModelObject.java
deleted file mode 100644
index 35e3f5e..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/PriceModelObject.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-import org.eclipse.jface.examples.databinding.ModelObject;
-
-
-public class PriceModelObject extends ModelObject {
-	
-	private double price;
-	
-	public double getDouble(){
-		return price;
-	}
-	public void setPrice(double aPrice){
-		int oldDollars = getDollars();
-		int oldCents = getCents();
-		double oldValue = price;
-		price = aPrice;
-		firePropertyChange("dollars",oldDollars,getDollars());
-		firePropertyChange("cents",oldCents,getCents());
-		firePropertyChange("price",new Double(oldValue), new Double(price));
-	}
-	
-	public double getPrice(){
-		return price;
-	}
-
-	public int getCents(){
-		return (int) (100*price - 100*Math.floor(price));
-	}
-	
-	public void setCents(int cents){
-		double oldPrice = getPrice();
-		int oldCents = getCents();
-		price = getDollars() + cents *.01;
-		firePropertyChange("cents",oldCents,getCents());
-		firePropertyChange("price", new Double(oldPrice), new Double(price));
-	}
-	
-	public int getDollars(){
-		return new Double(price).intValue();
-	}
-	
-	public void setDollars(int dollars){
-		double oldPrice = getPrice();
-		int oldDollars = getDollars();
-		price = dollars + getCents() *.01;
-		firePropertyChange("dollars",oldDollars,getDollars());
-		firePropertyChange("price", new Double(oldPrice), new Double(price));
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SampleData.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SampleData.java
deleted file mode 100644
index f30a159..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SampleData.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Brad Reynolds - bug 116920
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-
-public class SampleData {
-
-	public static Category WINTER_CATEGORY;
-
-	public static Category SUMMER_CATEGORY;
-
-	public static Adventure BEACH_HOLIDAY;
-
-	public static Adventure RAFTING_HOLIDAY;
-
-	public static Adventure WINTER_HOLIDAY;
-
-	public static Adventure ICE_FISHING;
-
-	public static Lodging FIVE_STAR_HOTEL;
-
-	public static Lodging YOUTH_HOSTEL;
-
-	public static Lodging CAMP_GROUND;
-
-	public static Catalog CATALOG_2005;
-
-	public static Transportation GREYHOUND_BUS;
-
-	public static Transportation EXECUTIVE_JET;
-
-	public static Account PRESIDENT;
-
-	public static Account DENTIST;
-
-	public static Account SANTA_CLAUS;
-
-	public static Cart CART;
-
-	public static AdventureFactory FACTORY;
-
-	// public static ITree CATALOG_TREE;
-	//	
-	// public static ITree CATEGORY_TREE;
-
-	public static Signon SIGNON_ADMINISTRATOR;
-
-	public static Signon SIGNON_JOEBLOGGS;
-
-	static {
-		initializeData();
-	}
-
-	public static void initializeData() {
-
-		FACTORY = new AdventureFactory();
-
-		CATALOG_2005 = FACTORY.createCatalog();
-
-		// Categories
-		WINTER_CATEGORY = FACTORY.createCategory();
-		WINTER_CATEGORY.setName("Freeze Adventures");
-		WINTER_CATEGORY.setId("100");
-		CATALOG_2005.addCategory(WINTER_CATEGORY);
-
-		SUMMER_CATEGORY = FACTORY.createCategory();
-		SUMMER_CATEGORY.setName("Hot Adventures");
-		SUMMER_CATEGORY.setId("200");
-		CATALOG_2005.addCategory(SUMMER_CATEGORY);
-
-		// Adventures
-		WINTER_HOLIDAY = FACTORY.createAdventure();
-		WINTER_HOLIDAY.setDescription("Winter holiday in France");
-		WINTER_HOLIDAY.setName("Ski Alps");
-		WINTER_HOLIDAY.setLocation("Chamonix");
-		WINTER_HOLIDAY.setPrice(4000.52d);
-		WINTER_HOLIDAY.setId("150");
-		WINTER_HOLIDAY.setMaxNumberOfPeople(3);
-		WINTER_CATEGORY.addAdventure(WINTER_HOLIDAY);
-
-		ICE_FISHING = FACTORY.createAdventure();
-		ICE_FISHING.setDescription("Ice Fishing in Helsinki");
-		ICE_FISHING.setName("Ice Fishing");
-		ICE_FISHING.setLocation("Finland");
-		ICE_FISHING.setPrice(375.55d);
-		WINTER_CATEGORY.addAdventure(ICE_FISHING);
-
-		BEACH_HOLIDAY = FACTORY.createAdventure();
-		BEACH_HOLIDAY.setDescription("Beach holiday in Spain");
-		BEACH_HOLIDAY.setName("Playa");
-		BEACH_HOLIDAY.setLocation("Lloret de Mar");
-		BEACH_HOLIDAY.setPrice(2000.52d);
-		BEACH_HOLIDAY.setId("250");
-		SUMMER_CATEGORY.addAdventure(BEACH_HOLIDAY);
-
-		RAFTING_HOLIDAY = FACTORY.createAdventure();
-		RAFTING_HOLIDAY
-				.setDescription("White water rafting on the Ottawa river");
-		RAFTING_HOLIDAY.setName("Whitewater");
-		RAFTING_HOLIDAY.setLocation("Ottawa");
-		RAFTING_HOLIDAY.setPrice(8000.52d);
-		RAFTING_HOLIDAY.setId("270");
-		SUMMER_CATEGORY.addAdventure(RAFTING_HOLIDAY);
-
-		// Lodgings
-		FIVE_STAR_HOTEL = FACTORY.createLodging();
-		FIVE_STAR_HOTEL.setDescription("Deluxe palace");
-		FIVE_STAR_HOTEL.setName("Flashy");
-		YOUTH_HOSTEL = FACTORY.createLodging();
-		YOUTH_HOSTEL.setDescription("Youth Hostel");
-		YOUTH_HOSTEL.setName("Basic");
-		CAMP_GROUND = FACTORY.createLodging();
-		CAMP_GROUND.setDescription("Camp ground");
-		CAMP_GROUND.setName("WetAndCold");
-		CATALOG_2005.addLodging(FIVE_STAR_HOTEL);
-		CATALOG_2005.addLodging(YOUTH_HOSTEL);
-		CATALOG_2005.addLodging(CAMP_GROUND);
-		WINTER_HOLIDAY.setDefaultLodging(YOUTH_HOSTEL);
-
-		// Transporation
-		GREYHOUND_BUS = FACTORY.createTransportation();
-		GREYHOUND_BUS.setArrivalTime("14:30");
-		GREYHOUND_BUS.setPrice(25.50);
-		CATALOG_2005.addTransportation(GREYHOUND_BUS);
-		EXECUTIVE_JET = FACTORY.createTransportation();
-		EXECUTIVE_JET.setArrivalTime("11:10");
-		EXECUTIVE_JET.setPrice(1500.99);
-		CATALOG_2005.addTransportation(EXECUTIVE_JET);
-
-		// Accounts
-		PRESIDENT = FACTORY.createAccount();
-		PRESIDENT.setFirstName("George");
-		PRESIDENT.setLastName("Bush");
-		PRESIDENT.setState("TX");
-		PRESIDENT.setPhone("1112223333");
-		PRESIDENT.setCountry("U.S.A");
-		DENTIST = FACTORY.createAccount();
-		DENTIST.setFirstName("Tooth");
-		DENTIST.setLastName("Fairy");
-		DENTIST.setState("CA");
-		DENTIST.setPhone("4543219876");
-		DENTIST.setCountry("PainLand");
-		SANTA_CLAUS = FACTORY.createAccount();
-		SANTA_CLAUS.setFirstName("Chris");
-		SANTA_CLAUS.setLastName("Chringle");
-		SANTA_CLAUS.setState("WI");
-		SANTA_CLAUS.setPhone("8617429856");
-		SANTA_CLAUS.setCountry("NorthPole");
-		CATALOG_2005.addAccount(PRESIDENT);
-		CATALOG_2005.addAccount(DENTIST);
-		CATALOG_2005.addAccount(SANTA_CLAUS);
-
-		// Signons
-		SIGNON_ADMINISTRATOR = new Signon("Administrator", "Foo123Bar");
-		SIGNON_JOEBLOGGS = new Signon("JoeBloggs", "Harry5Potter");
-		CATALOG_2005.addSignon(SIGNON_ADMINISTRATOR);
-		CATALOG_2005.addSignon(SIGNON_JOEBLOGGS);
-
-		CART = FACTORY.createCart();
-
-		// initTrees();
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Signon.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Signon.java
deleted file mode 100644
index f6fae9f..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Signon.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-import org.eclipse.jface.examples.databinding.ModelObject;
-
-public class Signon extends ModelObject {
-	
-	String userId;
-	String password;
-	
-	public Signon(String aUserId, String aPassword) {
-		userId = aUserId;
-		password = aPassword;
-	}
-	public String getPassword() {
-		return password;
-	}
-	public void setPassword(String aPassword) {
-		String oldValue = password;
-		password = aPassword;
-		firePropertyChange("password",oldValue,password);
-	}
-	public String getUserId() {
-		return userId;
-	}
-	public void setUserId(String aUserId) {
-		String oldValue = userId;
-		userId = aUserId;
-		firePropertyChange("userId",oldValue,userId);
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SimpleModel.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SimpleModel.java
deleted file mode 100644
index cec1927..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SimpleModel.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme     - Initial API and implementation
- */
-package org.eclipse.jface.examples.databinding.model;
-
-import java.util.LinkedList;
-
-
-public class SimpleModel {
-	public SimpleModel() {
-		// Add some sample data to our personList...
-		personList.add(new SimplePerson("John", "1234", "Wheaton", "IL"));
-		personList.add(new SimplePerson("Jane", "1234", "Glen Ellyn", "IL"));
-		personList.add(new SimplePerson("Frank", "1234", "Lombard", "IL"));
-		personList.add(new SimplePerson("Joe", "1234", "Elmhurst", "IL"));
-		personList.add(new SimplePerson("Chet", "1234", "Oak Lawn", "IL"));
-		personList.add(new SimplePerson("Wilbur", "1234", "Austin", "IL"));
-		personList.add(new SimplePerson("Elmo", "1234", "Chicago", "IL"));
-	}
-
-	// Now a PersonList property...
-	
-	LinkedList personList = new LinkedList();
-	
-	public LinkedList getPersonList() {
-		return personList;
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SimpleOrder.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SimpleOrder.java
deleted file mode 100644
index 99a68fc..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SimpleOrder.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     The Pampered Chef - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.model;
-
-import java.util.Date;
-
-/**
- * @since 1.0
- *
- */
-public class SimpleOrder {
-
-	private int orderNumber;
-	private Date date;
-
-	/**
-	 * @return Returns the date.
-	 */
-	public Date getDate() {
-		return date;
-	}
-
-	/**
-	 * @param date The date to set.
-	 */
-	public void setDate(Date date) {
-		this.date = date;
-	}
-
-	/**
-	 * @return Returns the orderNumber.
-	 */
-	public int getOrderNumber() {
-		return orderNumber;
-	}
-
-	/**
-	 * @param orderNumber The orderNumber to set.
-	 */
-	public void setOrderNumber(int orderNumber) {
-		this.orderNumber = orderNumber;
-	}
-
-	/**
-	 * @param i
-	 * @param date
-	 */
-	public SimpleOrder(int i, Date date) {
-		this.orderNumber = i;
-		this.date = date;
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SimplePerson.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SimplePerson.java
deleted file mode 100644
index 63ba02e..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/SimplePerson.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (C) 2005 David Orme <djo@coconut-palm-software.com>
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     David Orme     - Initial API and implementation
- *     Brad Reynolds (bug 139407)
- */
-package org.eclipse.jface.examples.databinding.model;
-
-import java.util.Date;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.jface.examples.databinding.ModelObject;
-
-public class SimplePerson extends ModelObject {
-	
-	private String name = "";
-	private String address = "";
-	private String city = "";
-	private String state = "";
-	
-	private List orders = new LinkedList();
-	
-	public SimplePerson(String name, String address, String city, String state) {
-		this.name = name;
-		this.address = address;
-		this.city = city;
-		this.state = state;
-		
-		int numOrders = (int) (Math.random() * 5);
-		for (int i=0; i < numOrders; ++i) {
-			orders.add(new SimpleOrder(i, new Date()));
-		}
-	}
-	
-	public SimplePerson() {}
-
-	/**
-	 * @return Returns the address.
-	 */
-	public String getAddress() {
-		return address;
-	}
-
-	/**
-	 * @param address The address to set.
-	 */
-	public void setAddress(String address) {
-		String old = this.address;
-		this.address = address;
-		firePropertyChange("address", old, address);
-	}
-
-	/**
-	 * @return Returns the city.
-	 */
-	public String getCity() {
-		return city;
-	}
-
-	/**
-	 * @param city The city to set.
-	 */
-	public void setCity(String city) {
-		String old = this.city;
-		firePropertyChange("city", old, this.city = city);
-	}
-
-	/**
-	 * @return Returns the name.
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * @param name The name to set.
-	 */
-	public void setName(String name) {
-		firePropertyChange("name", this.name, this.name = name);
-	}
-
-	/**
-	 * @return Returns the state.
-	 */
-	public String getState() {
-		return state;
-	}
-
-	/**
-	 * @param state The state to set.
-	 */
-	public void setState(String state) {
-		firePropertyChange("state", this.state, this.state = state); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @return Returns the orders.
-	 */
-	public List getOrders() {
-		return orders;
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Transportation.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Transportation.java
deleted file mode 100644
index 39fbc08..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/model/Transportation.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.model;
-
-import org.eclipse.jface.examples.databinding.ModelObject;
-
-public class Transportation extends ModelObject {
-
-	private String arrivalTime;
-	private double price;
-
-	public void setArrivalTime(String string) {
-		String oldValue = arrivalTime;
-		arrivalTime = string;
-		firePropertyChange("arrivaltime",oldValue,string);
-	}
-	
-	public String getArrivalTime(){
-		return arrivalTime;
-	}
-
-	public double getPrice() {
-		return price;
-	}
-
-	public void setPrice(double aPrice) {
-		double oldPrice = price;
-		price = aPrice;
-		firePropertyChange("price",new Double(oldPrice),new Double(price));
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/TestMasterDetail.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/TestMasterDetail.java
deleted file mode 100644
index 980c75a..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/nestedselection/TestMasterDetail.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Brad Reynolds - bug 116920
- *******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.nestedselection;
-
-import org.eclipse.core.databinding.Binding;
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.databinding.UpdateValueStrategy;
-import org.eclipse.core.databinding.beans.BeansObservables;
-import org.eclipse.core.databinding.conversion.IConverter;
-import org.eclipse.core.databinding.observable.IObserving;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.list.IObservableList;
-import org.eclipse.core.databinding.observable.list.WritableList;
-import org.eclipse.core.databinding.observable.map.IObservableMap;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.core.databinding.validation.IValidator;
-import org.eclipse.core.databinding.validation.ValidationStatus;
-import org.eclipse.core.internal.databinding.conversion.ObjectToStringConverter;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
-import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider;
-import org.eclipse.jface.databinding.viewers.ViewersObservables;
-import org.eclipse.jface.examples.databinding.model.SimpleModel;
-import org.eclipse.jface.examples.databinding.model.SimpleOrder;
-import org.eclipse.jface.examples.databinding.model.SimplePerson;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * @since 1.0
- * 
- */
-public class TestMasterDetail {
-	/**
-	 * @since 3.2
-	 * 
-	 */
-	private static final class CustomUpdateValueStrategy extends
-			UpdateValueStrategy {
-		protected IStatus doSet(IObservableValue observableValue, Object value) {
-			IStatus result = super.doSet(observableValue, value);
-			if (result.isOK()) {
-				Object changed = observableValue;
-				if (changed instanceof IObserving) {
-					changed = ((IObserving) changed).getObserved();
-				}
-				System.out.println("changed: " + changed);
-			}
-			return result;
-		}
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		new TestMasterDetail().run();
-	}
-
-	private Shell shell = null; // @jve:decl-index=0:visual-constraint="10,10"
-
-	private Table personsTable = null;
-
-	private Label label1 = null;
-
-	private Text name = null;
-
-	private Label label2 = null;
-
-	private Text address = null;
-
-	private Label label3 = null;
-
-	private Text city = null;
-
-	private Label label4 = null;
-
-	private Text state = null;
-
-	private Table ordersTable = null;
-
-	private Text validationStatus;
-
-	/**
-	 * This method initializes table
-	 * 
-	 */
-	private void createTable() {
-		GridData gridData = new org.eclipse.swt.layout.GridData();
-		gridData.grabExcessHorizontalSpace = true;
-		gridData.verticalAlignment = org.eclipse.swt.layout.GridData.FILL;
-		gridData.horizontalSpan = 2;
-		gridData.grabExcessVerticalSpace = true;
-		gridData.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
-		personsTable = new Table(shell, SWT.FULL_SELECTION);
-		personsTable.setHeaderVisible(true);
-		personsTable.setLayoutData(gridData);
-		personsTable.setLinesVisible(true);
-		TableColumn tableColumn = new TableColumn(personsTable, SWT.NONE);
-		tableColumn.setWidth(60);
-		tableColumn.setText("Name");
-		TableColumn tableColumn1 = new TableColumn(personsTable, SWT.NONE);
-		tableColumn1.setWidth(60);
-		tableColumn1.setText("State");
-	}
-
-	/**
-	 * This method initializes table1
-	 * 
-	 */
-	private void createTable1() {
-		GridData gridData5 = new org.eclipse.swt.layout.GridData();
-		gridData5.horizontalSpan = 2;
-		gridData5.verticalAlignment = org.eclipse.swt.layout.GridData.FILL;
-		gridData5.grabExcessHorizontalSpace = true;
-		gridData5.grabExcessVerticalSpace = true;
-		gridData5.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
-		ordersTable = new Table(shell, SWT.FULL_SELECTION);
-		ordersTable.setHeaderVisible(true);
-		ordersTable.setLayoutData(gridData5);
-		ordersTable.setLinesVisible(true);
-		TableColumn tableColumn2 = new TableColumn(ordersTable, SWT.NONE);
-		tableColumn2.setWidth(60);
-		tableColumn2.setText("Order No");
-		TableColumn tableColumn3 = new TableColumn(ordersTable, SWT.NONE);
-		tableColumn3.setWidth(60);
-		tableColumn3.setText("Date");
-	}
-
-	/**
-	 * This method initializes sShell
-	 */
-	private void createShell() {
-		GridData gridData5 = new org.eclipse.swt.layout.GridData();
-		gridData5.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
-		gridData5.verticalAlignment = org.eclipse.swt.layout.GridData.CENTER;
-		GridData gridData4 = new org.eclipse.swt.layout.GridData();
-		gridData4.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
-		gridData4.verticalAlignment = org.eclipse.swt.layout.GridData.CENTER;
-		GridData gridData3 = new org.eclipse.swt.layout.GridData();
-		gridData3.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
-		gridData3.verticalAlignment = org.eclipse.swt.layout.GridData.CENTER;
-		GridData gridData2 = new org.eclipse.swt.layout.GridData();
-		gridData2.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
-		gridData2.verticalAlignment = org.eclipse.swt.layout.GridData.CENTER;
-		GridData gridData1 = new org.eclipse.swt.layout.GridData();
-		gridData1.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
-		gridData1.verticalAlignment = org.eclipse.swt.layout.GridData.CENTER;
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 2;
-		shell = new Shell();
-		shell.setText("Shell");
-		createTable();
-		shell.setLayout(gridLayout);
-		shell.setSize(new org.eclipse.swt.graphics.Point(495, 357));
-		label1 = new Label(shell, SWT.NONE);
-		label1.setText("Name");
-		name = new Text(shell, SWT.BORDER);
-		name.setLayoutData(gridData1);
-		label2 = new Label(shell, SWT.NONE);
-		label2.setText("Address");
-		address = new Text(shell, SWT.BORDER);
-		address.setLayoutData(gridData2);
-		label3 = new Label(shell, SWT.NONE);
-		label3.setText("City");
-		city = new Text(shell, SWT.BORDER);
-		city.setLayoutData(gridData4);
-		label4 = new Label(shell, SWT.NONE);
-		label4.setText("State");
-		state = new Text(shell, SWT.BORDER);
-		state.setLayoutData(gridData3);
-		createTable1();
-		validationStatus = new Text(shell, SWT.READ_ONLY | SWT.BORDER);
-	}
-
-	private void run() {
-		final Display display = new Display();
-
-		Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
-			public void run() {
-				createShell();
-				bind(shell);
-
-				shell.setSize(600, 600);
-				shell.open();
-				while (!shell.isDisposed()) {
-					if (!display.readAndDispatch())
-						display.sleep();
-				}
-			}
-		});
-		display.dispose();
-	}
-
-	SimpleModel model = new SimpleModel();
-
-	private void bind(Control parent) {
-		Realm realm = SWTObservables.getRealm(parent.getDisplay());
-
-		TableViewer peopleViewer = new TableViewer(personsTable);
-		ObservableListContentProvider peopleViewerContent = new ObservableListContentProvider();
-		peopleViewer.setContentProvider(peopleViewerContent);
-
-		IObservableMap[] attributeMaps = BeansObservables.observeMaps(
-				peopleViewerContent.getKnownElements(), SimplePerson.class,
-				new String[] { "name", "state" });
-		peopleViewer.setLabelProvider(new ObservableMapLabelProvider(
-				attributeMaps));
-
-		peopleViewer.setInput(new WritableList(realm, model.getPersonList(),
-				SimpleModel.class));
-
-		IObservableValue selectedPerson = ViewersObservables
-				.observeSingleSelection(peopleViewer);
-
-		DataBindingContext dbc = new DataBindingContext(realm) {
-			protected UpdateValueStrategy createTargetToModelUpdateValueStrategy(
-					IObservableValue fromValue, IObservableValue toValue) {
-				return new CustomUpdateValueStrategy();
-			}
-		};
-		IConverter upperCaseConverter = new IConverter() {
-			public Object convert(Object fromObject) {
-				return ((String) fromObject).toUpperCase();
-			}
-
-			public Object getFromType() {
-				return String.class;
-			}
-
-			public Object getToType() {
-				return String.class;
-			}
-		};
-		IValidator vowelValidator = new IValidator() {
-			public IStatus validate(Object value) {
-				String s = (String) value;
-				if (!s.matches("[aeiouAEIOU]*")) {
-					return ValidationStatus.error("only vowels allowed");
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		Binding b = dbc.bindValue(SWTObservables.observeText(name, SWT.Modify),
-				BeansObservables.observeDetailValue(realm, selectedPerson,
-						"name", String.class), new CustomUpdateValueStrategy()
-						.setConverter(upperCaseConverter).setAfterGetValidator(
-								vowelValidator), null);
-
-//		AggregateValidationStatus status = new AggregateValidationStatus(dbc
-//				.getBindings(), AggregateValidationStatus.MAX_SEVERITY);
-		dbc.bindValue(SWTObservables.observeText(validationStatus, SWT.NONE),
-				b.getValidationStatus(), null, new UpdateValueStrategy().setConverter(new ObjectToStringConverter()));
-		
-		dbc.bindValue(SWTObservables.observeText(address, SWT.Modify),
-				BeansObservables.observeDetailValue(realm, selectedPerson,
-						"address", String.class), null, null);
-
-		dbc.bindValue(SWTObservables.observeText(city, SWT.Modify),
-				BeansObservables.observeDetailValue(realm, selectedPerson,
-						"city", String.class), null, null);
-
-		dbc.bindValue(SWTObservables.observeText(state, SWT.Modify),
-				BeansObservables.observeDetailValue(realm, selectedPerson,
-						"state", String.class), null, null);
-
-		TableViewer ordersViewer = new TableViewer(ordersTable);
-		ObservableListContentProvider ordersViewerContent = new ObservableListContentProvider();
-		ordersViewer.setContentProvider(ordersViewerContent);
-		ordersViewer.setLabelProvider(new ObservableMapLabelProvider(
-				BeansObservables.observeMaps(ordersViewerContent
-						.getKnownElements(), SimpleOrder.class, new String[] {
-						"orderNumber", "date" })));
-
-		IObservableList orders = BeansObservables.observeDetailList(realm,
-				selectedPerson, "orders", SimpleOrder.class);
-		ordersViewer.setInput(orders);
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/radioGroup/RadioGroup.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/radioGroup/RadioGroup.java
deleted file mode 100644
index 02e8f5d..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/radioGroup/RadioGroup.java
+++ /dev/null
@@ -1,559 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.radioGroup;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.jface.examples.databinding.ducks.DuckType;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-
-/** 
- * This object decorates a bunch of SWT.RADIO buttons and provides saner 
- * selection semantics than you get by default with those radio buttons.
- * <p>
- * Its API is basically the same API as List, but with unnecessary methods
- * removed.
- */
-public class RadioGroup {
-   
-   private final IRadioButton[] buttons;
-   private final Object[] values;
-   IRadioButton oldSelection = null;
-   IRadioButton selectedButton = null;
-   IRadioButton potentialNewSelection = null;
-
-   /** (Non-API)
-    * Interface IRadioButton.  A duck interface that is used internally by RadioGroup
-    * and by RadioGroup's unit tests.
-    */
-   public static interface IRadioButton {
-      void setData(String string, Object object);
-      void addSelectionListener(SelectionListener selectionListener);
-      void setSelection(boolean b);
-      boolean getSelection();
-      boolean isFocusControl();
-      String getText();
-      void setText(String string);
-      void notifyListeners(int eventType, Event object);
-   }
-   
-   /**
-    * Constructs an instance of this widget given an array of Button objects to wrap.
-    * The Button objects must have been created with the SWT.RADIO style bit set,
-    * and they must all be in the same Composite.
-    * 
-    * @param radioButtons Object[] an array of radio buttons to wrap.
-    * @param values Object[] an array of objects corresponding to the value of each radio button.
-    */
-   public RadioGroup(Object[] radioButtons, Object[] values) {
-      IRadioButton[] buttons = new IRadioButton[radioButtons.length];
-      if (buttons.length < 1) {
-         throw new IllegalArgumentException("A RadioGroup must manage at least one Button");
-      }
-      for (int i = 0; i < buttons.length; i++) {
-         if (!DuckType.instanceOf(IRadioButton.class, radioButtons[i])) {
-            throw new IllegalArgumentException("A radio button was not passed");
-         }
-         buttons[i] = (IRadioButton) DuckType.implement(IRadioButton.class, radioButtons[i]);
-         buttons[i].setData(Integer.toString(i), new Integer(i));
-         buttons[i].addSelectionListener(selectionListener);
-      }
-      this.buttons = buttons;
-      this.values = values;
-   }
-   
-   /**
-    * Returns the object corresponding to the currently-selected radio button
-    * or null if no radio button is selected.
-    * 
-    * @return the object corresponding to the currently-selected radio button
-    * or null if no radio button is selected.
-    */
-   public Object getSelection() {
-      int selectionIndex = getSelectionIndex();
-      if (selectionIndex < 0)
-         return "";
-      return values[selectionIndex];
-   }
-   
-   /**
-    * Sets the selected radio button to the radio button whose model object
-    * equals() the object specified by newSelection.  If !newSelection.equals()
-    * any model object managed by this radio group, deselects all radio buttons.
-    * 
-    * @param newSelection A model object corresponding to one of the model
-    * objects associated with one of the radio buttons.
-    */
-   public void setSelection(Object newSelection) {
-      deselectAll();
-      for (int i = 0; i < values.length; i++) {
-         if (values[i].equals(newSelection)) {
-            setSelection(i);
-            return;
-         }
-      }
-   }
-   
-   private SelectionListener selectionListener = new SelectionListener() {
-      public void widgetDefaultSelected(SelectionEvent e) {
-         widgetSelected(e);
-      }
-      
-      public void widgetSelected(SelectionEvent e) {
-         potentialNewSelection = getButton(e);
-         if (! potentialNewSelection.getSelection()) {
-            return;
-         }
-         if (potentialNewSelection.equals(selectedButton)) {
-            return;
-         }
-         
-         if (fireWidgetChangeSelectionEvent(e)) {
-            oldSelection = selectedButton;
-            selectedButton = potentialNewSelection;
-            if (oldSelection == null) {
-               oldSelection = selectedButton;
-            }
-   
-            fireWidgetSelectedEvent(e);
-         }
-      }
-
-      private IRadioButton getButton(SelectionEvent e) {
-         // If the actual IRadioButton is a test fixture, then the test fixture can't
-         // set e.widget, so the button object will be in e.data instead and a dummy 
-         // Widget will be in e.widget.
-         if (e.data != null) {
-            return (IRadioButton) e.data;
-         }
-         return (IRadioButton) DuckType.implement(IRadioButton.class, e.widget);
-      }
-   };
-   
-   private List widgetChangeListeners = new LinkedList();
-   
-   protected boolean fireWidgetChangeSelectionEvent(SelectionEvent e) {
-      for (Iterator listenersIter = widgetChangeListeners.iterator(); listenersIter.hasNext();) {
-         VetoableSelectionListener listener = (VetoableSelectionListener) listenersIter.next();
-         listener.canWidgetChangeSelection(e);
-         if (!e.doit) {
-            rollbackSelection();
-            return false;
-         }
-      }
-      return true;
-   }
-
-   private void rollbackSelection() {
-      Display.getCurrent().asyncExec(new Runnable() {
-         public void run() {
-            potentialNewSelection.setSelection(false);
-            selectedButton.setSelection(true);
-//            selectedButton.notifyListeners(SWT.Selection, null);
-         }
-      });
-   }
-
-
-   /**
-    * Adds the listener to the collection of listeners who will
-    * be notified when the receiver's selection is about to change, by sending
-    * it one of the messages defined in the <code>VetoableSelectionListener</code>
-    * interface.
-    * <p>
-    * <code>widgetSelected</code> is called when the selection changes.
-    * <code>widgetDefaultSelected</code> is typically called when an item is double-clicked.
-    * </p>
-    *
-    * @param listener the listener which should be notified
-    *
-    * @exception IllegalArgumentException <ul>
-    *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-    * </ul>
-    * @exception SWTException <ul>
-    *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-    *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-    * </ul>
-    *
-    * @see VetoableSelectionListener
-    * @see #removeVetoableSelectionListener
-    * @see SelectionEvent
-    */
-   public void addVetoableSelectionListener(VetoableSelectionListener listener) {
-      widgetChangeListeners.add(listener);
-   }
-
-   /**
-    * Removes the listener from the collection of listeners who will
-    * be notified when the receiver's selection is about to change.
-    *
-    * @param listener the listener which should no longer be notified
-    *
-    * @exception IllegalArgumentException <ul>
-    *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-    * </ul>
-    * @exception SWTException <ul>
-    *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-    *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-    * </ul>
-    *
-    * @see VetoableSelectionListener
-    * @see #addVetoableSelectionListener
-    */
-   public void removeVetoableSelectionListener(VetoableSelectionListener listener) {
-      widgetChangeListeners.remove(listener);
-   }
-   
-
-   private List widgetSelectedListeners = new ArrayList();
-   
-   protected void fireWidgetSelectedEvent(SelectionEvent e) {
-      for (Iterator listenersIter = widgetSelectedListeners.iterator(); listenersIter.hasNext();) {
-         SelectionListener listener = (SelectionListener) listenersIter.next();
-         listener.widgetSelected(e);
-      }
-   }
-
-   protected void fireWidgetDefaultSelectedEvent(SelectionEvent e) {
-      fireWidgetSelectedEvent(e);
-   }
-   
-   /**
-    * Adds the listener to the collection of listeners who will
-    * be notified when the receiver's selection changes, by sending
-    * it one of the messages defined in the <code>SelectionListener</code>
-    * interface.
-    * <p>
-    * <code>widgetSelected</code> is called when the selection changes.
-    * <code>widgetDefaultSelected</code> is typically called when an item is double-clicked.
-    * </p>
-    *
-    * @param listener the listener which should be notified
-    *
-    * @exception IllegalArgumentException <ul>
-    *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-    * </ul>
-    * @exception SWTException <ul>
-    *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-    *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-    * </ul>
-    *
-    * @see SelectionListener
-    * @see #removeSelectionListener
-    * @see SelectionEvent
-    */
-   public void addSelectionListener(SelectionListener listener) {
-      widgetSelectedListeners.add(listener);
-   }
-
-   /**
-    * Removes the listener from the collection of listeners who will
-    * be notified when the receiver's selection changes.
-    *
-    * @param listener the listener which should no longer be notified
-    *
-    * @exception IllegalArgumentException <ul>
-    *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-    * </ul>
-    * @exception SWTException <ul>
-    *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-    *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-    * </ul>
-    *
-    * @see SelectionListener
-    * @see #addSelectionListener
-    */
-   public void removeSelectionListener(SelectionListener listener) {
-      widgetSelectedListeners.remove(listener);
-   }
-   
-   /**
-    * Deselects the item at the given zero-relative index in the receiver.
-    * If the item at the index was already deselected, it remains
-    * deselected. Indices that are out of range are ignored.
-    *
-    * @param index the index of the item to deselect
-    *
-    * @exception SWTException <ul>
-    *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-    *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-    * </ul>
-    */
-   public void deselect (int index) {
-      if (index < 0 || index >= buttons.length)
-         return;
-      buttons[index].setSelection(false);
-   }
-   
-   /**
-    * Deselects all selected items in the receiver.
-    *
-    * @exception SWTException <ul>
-    *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-    *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-    * </ul>
-    */
-   public void deselectAll () {
-      for (int i = 0; i < buttons.length; i++)
-         buttons[i].setSelection(false);
-   }   
-
-   /**
-    * Returns the zero-relative index of the item which currently
-    * has the focus in the receiver, or -1 if no item has focus.
-    *
-    * @return the index of the selected item
-    *
-    * @exception SWTException <ul>
-    *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-    *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-    * </ul>
-    */
-   public int getFocusIndex () {
-      for (int i = 0; i < buttons.length; i++) {
-         if (buttons[i].isFocusControl()) {
-            return i;
-         }
-      }
-      return -1;
-   }
-
-   /**
-    * Returns the item at the given, zero-relative index in the
-    * receiver. Throws an exception if the index is out of range.
-    *
-    * @param index the index of the item to return
-    * @return the item at the given index
-    *
-    * @exception IllegalArgumentException <ul>
-    *    <li>ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list minus 1 (inclusive)</li>
-    * </ul>
-    * @exception SWTException <ul>
-    *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-    *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-    * </ul>
-    * 
-    * FIXME: tck - this should be renamed to getItemText()
-    */
-   public String getItem (int index) {
-      if (index < 0 || index >= buttons.length)
-         SWT.error(SWT.ERROR_INVALID_RANGE, null, "getItem for a nonexistant item");
-      return buttons[index].getText();
-   }
-
-   /**
-    * Returns the number of items contained in the receiver.
-    *
-    * @return the number of items
-    *
-    * @exception SWTException <ul>
-    *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-    *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-    * </ul>
-    */
-   public int getItemCount () {
-      return buttons.length;
-   }
-
-   /**
-    * Returns a (possibly empty) array of <code>String</code>s which
-    * are the items in the receiver. 
-    * <p>
-    * Note: This is not the actual structure used by the receiver
-    * to maintain its list of items, so modifying the array will
-    * not affect the receiver. 
-    * </p>
-    *
-    * @return the items in the receiver's list
-    *
-    * @exception SWTException <ul>
-    *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-    *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-    * </ul>
-    */
-   public String [] getItems () {
-      List itemStrings = new ArrayList();
-      for (int i = 0; i < buttons.length; i++) {
-         itemStrings.add(buttons[i].getText());
-      }
-      return (String[]) itemStrings.toArray(new String[itemStrings.size()]);
-   }
-   
-   public Object[] getButtons() {
-      return buttons;
-   }
-
-   /**
-    * Returns the zero-relative index of the item which is currently
-    * selected in the receiver, or -1 if no item is selected.
-    *
-    * @return the index of the selected item or -1
-    *
-    * @exception SWTException <ul>
-    *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-    *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-    * </ul>
-    */
-   public int getSelectionIndex () {
-      for (int i = 0; i < buttons.length; i++) {
-         if (buttons[i].getSelection() == true) {
-            return i;
-         }
-      }
-      return -1;
-   }
-
-  /**
-    * Gets the index of an item.
-    * <p>
-    * The list is searched starting at 0 until an
-    * item is found that is equal to the search item.
-    * If no item is found, -1 is returned.  Indexing
-    * is zero based.
-    *
-    * @param string the search item
-    * @return the index of the item
-    *
-    * @exception IllegalArgumentException <ul>
-    *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
-    * </ul>
-    * @exception SWTException <ul>
-    *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-    *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-    * </ul>
-    */
-   public int indexOf (String string) {
-      for (int i = 0; i < buttons.length; i++) {
-         if (buttons[i].getText().equals(string)) {
-            return i;
-         }
-      }
-      return -1;
-   }
-
-   /**
-    * Searches the receiver's list starting at the given, 
-    * zero-relative index until an item is found that is equal
-    * to the argument, and returns the index of that item. If
-    * no item is found or the starting index is out of range,
-    * returns -1.
-    *
-    * @param string the search item
-    * @param start the zero-relative index at which to start the search
-    * @return the index of the item
-    *
-    * @exception IllegalArgumentException <ul>
-    *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
-    * </ul>
-    * @exception SWTException <ul>
-    *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-    *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-    * </ul>
-    */
-   public int indexOf (String string, int start) {
-      for (int i = start; i < buttons.length; i++) {
-         if (buttons[i].getText().equals(string)) {
-            return i;
-         }
-      }
-      return -1;
-   }
-
-   /**
-    * Returns <code>true</code> if the item is selected,
-    * and <code>false</code> otherwise.  Indices out of
-    * range are ignored.
-    *
-    * @param index the index of the item
-    * @return the visibility state of the item at the index
-    *
-    * @exception SWTException <ul>
-    *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-    *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-    * </ul>
-    */
-   public boolean isSelected (int index) {
-      return buttons[index].getSelection();
-   }
-
-   /**
-    * Selects the item at the given zero-relative index in the receiver's 
-    * list.  If the item at the index was already selected, it remains
-    * selected. Indices that are out of range are ignored.
-    *
-    * @param index the index of the item to select
-    *
-    * @exception SWTException <ul>
-    *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-    *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-    * </ul>
-    */
-   public void select (int index) {
-      if (index < 0 || index >= buttons.length)
-         return;
-      buttons[index].setSelection(true);
-   }
-
-   /**
-    * Sets the text of the item in the receiver's list at the given
-    * zero-relative index to the string argument. This is equivalent
-    * to <code>remove</code>'ing the old item at the index, and then
-    * <code>add</code>'ing the new item at that index.
-    *
-    * @param index the index for the item
-    * @param string the new text for the item
-    *
-    * @exception IllegalArgumentException <ul>
-    *    <li>ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list minus 1 (inclusive)</li>
-    *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
-    * </ul>
-    * @exception SWTException <ul>
-    *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-    *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-    * </ul>
-    */
-   public void setItem (int index, String string) {
-      if (index < 0 || index >= buttons.length)
-         SWT.error(SWT.ERROR_INVALID_RANGE, null, "setItem for a nonexistant item");
-      buttons[index].setText(string);
-   }
-
-   /**
-    * Selects the item at the given zero-relative index in the receiver. 
-    * If the item at the index was already selected, it remains selected.
-    * The current selection is first cleared, then the new item is selected.
-    * Indices that are out of range are ignored.
-    *
-    * @param index the index of the item to select
-    *
-    * @exception SWTException <ul>
-    *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-    *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-    * </ul>
-    * @see List#deselectAll()
-    * @see List#select(int)
-    */
-   public void setSelection (int index) {
-      if (index < 0 || index > buttons.length - 1) {
-         return;
-      }
-      buttons[index].setSelection(true);
-   }
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/radioGroup/VetoableSelectionListener.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/radioGroup/VetoableSelectionListener.java
deleted file mode 100644
index 86f5d7b..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/radioGroup/VetoableSelectionListener.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.radioGroup;
-
-import org.eclipse.swt.events.SelectionEvent;
-
-/**
- * Interface VetoableSelectionListener.  An interface for SelectionListeners
- * that permit the new selection to be vetoed before widgetSelected or
- * widgetDefaultSelected is called.
- */
-public interface VetoableSelectionListener {
-   /**
-    * Method widgetCanChangeSelection.  Indicates that the selection is
-    * about to be changed.  Setting e.doit to false will prevent the 
-    * selection from changing.
-    * 
-    * @param e The SelectionEvent that is being processed.
-    */
-   public void canWidgetChangeSelection(SelectionEvent e);
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet000HelloWorld.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet000HelloWorld.java
deleted file mode 100644
index 492dcdc..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet000HelloWorld.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 The Pampered Chef, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     The Pampered Chef, Inc. - initial API and implementation
- *     Brad Reynolds - bug 116920
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.snippets;
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.databinding.beans.BeansObservables;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-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;
-
-/**
- * Hello, databinding. Bind changes in a GUI to a Model object but don't worry
- * about propogating changes from the Model to the GUI.
- * <p>
- * Illustrates the basic Model-ViewModel-Binding-View architecture typically
- * used in data binding applications.
- */
-public class Snippet000HelloWorld {
-	public static void main(String[] args) {
-		Display display = new Display();
-		final ViewModel viewModel = new ViewModel();
-
-		Realm.runWithDefault(SWTObservables.getRealm(display),
-				new Runnable() {
-					public void run() {
-						final Shell shell = new View(viewModel).createShell();
-						// The SWT event loop
-						Display display = Display.getCurrent();
-						while (!shell.isDisposed()) {
-							if (!display.readAndDispatch()) {
-								display.sleep();
-							}
-						}
-					}
-				});
-		// Print the results
-		System.out.println("person.getName() = "
-				+ viewModel.getPerson().getName());
-	}
-
-	// The data model class. This is normally a persistent class of some sort.
-	// 
-	// In this example, we only push changes from the GUI to the model, so we
-	// don't worry about implementing JavaBeans bound properties. If we need
-	// our GUI to automatically reflect changes in the Person object, the
-	// Person object would need to implement the JavaBeans property change
-	// listener methods.
-	static class Person {
-		// A property...
-		String name = "HelloWorld";
-
-		public String getName() {
-			return name;
-		}
-
-		public void setName(String name) {
-			this.name = name;
-		}
-	}
-
-	// The View's model--the root of our Model graph for this particular GUI.
-	//
-	// Typically each View class has a corresponding ViewModel class.
-	// The ViewModel is responsible for getting the objects to edit from the
-	// DAO. Since this snippet doesn't have any persistent objects to
-	// retrieve, this ViewModel just instantiates a model object to edit.
-	static class ViewModel {
-		// The model to bind
-		private Person person = new Person();
-
-		public Person getPerson() {
-			return person;
-		}
-	}
-
-	// The GUI view
-	static class View {
-		private ViewModel viewModel;
-		private Text name;
-
-		public View(ViewModel viewModel) {
-			this.viewModel = viewModel;
-		}
-
-		public Shell createShell() {
-			// Build a UI
-			Display display = Display.getDefault();
-			Shell shell = new Shell(display);
-			shell.setLayout(new RowLayout(SWT.VERTICAL));
-			name = new Text(shell, SWT.BORDER);
-
-			// Bind it
-			DataBindingContext bindingContext = new DataBindingContext();
-			Person person = viewModel.getPerson();
-
-			bindingContext.bindValue(SWTObservables.observeText(name,
-					SWT.Modify), BeansObservables.observeValue(person, "name"),
-					null, null);
-
-			// Open and return the Shell
-			shell.pack();
-			shell.open();
-			return shell;
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet001NestedSelectionWithCombo.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet001NestedSelectionWithCombo.java
deleted file mode 100644
index c701255..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet001NestedSelectionWithCombo.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 The Pampered Chef, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     The Pampered Chef, Inc. - initial API and implementation
- *     Brad Reynolds - bug 116920
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.snippets;
-
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeSupport;
-import java.util.ArrayList;
-import java.util.HashSet;
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.databinding.beans.BeansObservables;
-import org.eclipse.core.databinding.observable.Observables;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.map.IObservableMap;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider;
-import org.eclipse.jface.databinding.viewers.ViewersObservables;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.ComboViewer;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Demonstrates nested selection.<br>
- * At the first level, user may select a person.<br>
- * At the second level, user may select a city to associate with the selected<br>
- * person or edit the person's name.
- */
-public class Snippet001NestedSelectionWithCombo {
-	public static void main(String[] args) {
-		ViewModel viewModel = new ViewModel();
-		Shell shell = new View(viewModel).createShell();
-
-		// The SWT event loop
-		Display display = Display.getCurrent();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) {
-				display.sleep();
-			}
-		}
-	}
-
-	// Minimal JavaBeans support
-	public static abstract class AbstractModelObject {
-		private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(
-				this);
-
-		public void addPropertyChangeListener(PropertyChangeListener listener) {
-			propertyChangeSupport.addPropertyChangeListener(listener);
-		}
-
-		public void addPropertyChangeListener(String propertyName,
-				PropertyChangeListener listener) {
-			propertyChangeSupport.addPropertyChangeListener(propertyName,
-					listener);
-		}
-
-		public void removePropertyChangeListener(PropertyChangeListener listener) {
-			propertyChangeSupport.removePropertyChangeListener(listener);
-		}
-
-		public void removePropertyChangeListener(String propertyName,
-				PropertyChangeListener listener) {
-			propertyChangeSupport.removePropertyChangeListener(propertyName,
-					listener);
-		}
-
-		protected void firePropertyChange(String propertyName, Object oldValue,
-				Object newValue) {
-			propertyChangeSupport.firePropertyChange(propertyName, oldValue,
-					newValue);
-		}
-	}
-
-	// The data model class. This is normally a persistent class of some sort.
-	// 
-	// This example implements full JavaBeans bound properties so that changes
-	// to instances of this class will automatically be propogated to the UI.
-	public static class Person extends AbstractModelObject {
-		// Constructor
-		public Person(String name, String city) {
-			this.name = name;
-			this.city = city;
-		}
-
-		// Some JavaBean bound properties...
-		String name;
-
-		String city;
-
-		public String getName() {
-			return name;
-		}
-
-		public void setName(String name) {
-			String oldValue = this.name;
-			this.name = name;
-			firePropertyChange("name", oldValue, name);
-		}
-
-		public String getCity() {
-			return city;
-		}
-
-		public void setCity(String city) {
-			String oldValue = this.city;
-			this.city = city;
-			firePropertyChange("city", oldValue, city);
-		}
-	}
-
-	// The View's model--the root of our GUI's Model graph
-	//
-	// Typically each View class has a corresponding ViewModel class.
-	// The ViewModel is responsible for getting the objects to edit from the
-	// DAO. Since this snippet doesn't have any persistent objects to
-	// retrieve, this ViewModel just instantiates some objects to edit.
-	// 
-	// This ViewModel also implements JavaBean bound properties.
-	static class ViewModel extends AbstractModelObject {
-		// The model to bind
-		private ArrayList people = new ArrayList();
-		{
-			people.add(new Person("Wile E. Coyote", "Tucson"));
-			people.add(new Person("Road Runner", "Lost Horse"));
-			people.add(new Person("Bugs Bunny", "Forrest"));
-		}
-
-		// Choice of cities for the Combo
-		private ArrayList cities = new ArrayList();
-		{
-			cities.add("Tucson");
-			cities.add("AcmeTown");
-			cities.add("Lost Horse");
-			cities.add("Forrest");
-			cities.add("Lost Mine");
-		}
-
-		public ArrayList getPeople() {
-			return people;
-		}
-
-		public ArrayList getCities() {
-			return cities;
-		}
-	}
-
-	// The GUI view
-	static class View {
-		private ViewModel viewModel;
-
-		public View(ViewModel viewModel) {
-			this.viewModel = viewModel;
-		}
-
-		public Shell createShell() {
-			// Build a UI
-			Shell shell = new Shell(Display.getCurrent());
-			Realm realm = SWTObservables.getRealm(shell.getDisplay());
-
-			List peopleList = new List(shell, SWT.BORDER);
-			Text name = new Text(shell, SWT.BORDER);
-			Combo city = new Combo(shell, SWT.BORDER | SWT.READ_ONLY);
-
-			ListViewer peopleListViewer = new ListViewer(peopleList);
-			IObservableMap attributeMap = BeansObservables.observeMap(
-					Observables.staticObservableSet(realm, new HashSet(
-							viewModel.getPeople())), Person.class, "name");
-			peopleListViewer.setLabelProvider(new ObservableMapLabelProvider(
-					attributeMap));
-			peopleListViewer.setContentProvider(new ArrayContentProvider());
-			peopleListViewer.setInput(viewModel.getPeople());
-
-			DataBindingContext dbc = new DataBindingContext(realm);
-			IObservableValue selectedPerson = ViewersObservables
-					.observeSingleSelection(peopleListViewer);
-			dbc.bindValue(SWTObservables.observeText(name, SWT.Modify),
-					BeansObservables.observeDetailValue(realm, selectedPerson,
-							"name", String.class), null, null);
-
-			ComboViewer cityViewer = new ComboViewer(city);
-			cityViewer.setContentProvider(new ArrayContentProvider());
-			cityViewer.setInput(viewModel.getCities());
-
-			IObservableValue citySelection = ViewersObservables
-					.observeSingleSelection(cityViewer);
-			dbc.bindValue(citySelection, BeansObservables.observeDetailValue(
-					realm, selectedPerson, "city", String.class), null, null);
-
-			GridLayoutFactory.swtDefaults().applyTo(shell);
-			// Open and return the Shell
-			shell.pack();
-			shell.open();
-			return shell;
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet002UpdateComboRetainSelection.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet002UpdateComboRetainSelection.java
deleted file mode 100644
index 09882e7..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet002UpdateComboRetainSelection.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 The Pampered Chef, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     The Pampered Chef, Inc. - initial API and implementation
- *     Brad Reynolds - bug 116920
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.snippets;
-
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeSupport;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.databinding.beans.BeansObservables;
-import org.eclipse.core.databinding.observable.IObservable;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.list.IObservableList;
-import org.eclipse.core.databinding.observable.list.WritableList;
-import org.eclipse.core.databinding.observable.masterdetail.IObservableFactory;
-import org.eclipse.core.databinding.observable.masterdetail.MasterDetailObservables;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Shows how to bind a Combo so that when update its items, the selection is
- * retained if at all possible.
- * 
- * @since 3.2
- */
-public class Snippet002UpdateComboRetainSelection {
-    public static void main(String[] args) {
-    	final Display display = new Display();
-    	Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
-    		public void run() {
-    			ViewModel viewModel = new ViewModel();
-    			Shell shell = new View(viewModel).createShell();
-    			
-    			// The SWT event loop
-    			while (!shell.isDisposed()) {
-    				if (!display.readAndDispatch()) {
-    					display.sleep();
-    				}
-    			}
-    			
-    			// Print the results
-    			System.out.println(viewModel.getText());
-    		}
-    	});
-    	display.dispose();
-    }
-
-    // Minimal JavaBeans support
-    public static abstract class AbstractModelObject {
-        private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);
-
-        public void addPropertyChangeListener(PropertyChangeListener listener) {
-            propertyChangeSupport.addPropertyChangeListener(listener);
-        }
-
-        public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) {
-            propertyChangeSupport.addPropertyChangeListener(propertyName, listener);
-        }
-
-        public void removePropertyChangeListener(PropertyChangeListener listener) {
-            propertyChangeSupport.removePropertyChangeListener(listener);
-        }
-
-        public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) {
-            propertyChangeSupport.removePropertyChangeListener(propertyName, listener);
-        }
-
-        protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
-            propertyChangeSupport.firePropertyChange(propertyName, oldValue, newValue);
-        }
-    }
-
-    // The View's model--the root of our Model graph for this particular GUI.
-    public static class ViewModel extends AbstractModelObject {
-        private String text = "beef";
-
-        private List choices = new ArrayList();
-        {
-            choices.add("pork");
-            choices.add("beef");
-            choices.add("poultry");
-            choices.add("vegatables");
-        }
-
-        public List getChoices() {
-            return choices;
-        }
-
-        public void setChoices(List choices) {
-            List old = this.choices;
-            this.choices = choices;
-            firePropertyChange("choices", old, choices);
-        }
-
-        public String getText() {
-            return text;
-        }
-
-        public void setText(String text) {
-            String oldValue = this.text;
-            this.text = text;
-            firePropertyChange("text", oldValue, text);
-        }
-    }
-
-    // The GUI view
-    static class View {
-        private ViewModel viewModel;
-        /**
-         * used to make a new choices array unique
-         */
-        static int count;
-
-        public View(ViewModel viewModel) {
-            this.viewModel = viewModel;
-        }
-
-        public Shell createShell() {
-            // Build a UI
-            Shell shell = new Shell(Display.getCurrent());
-            shell.setLayout(new RowLayout(SWT.VERTICAL));
-
-            Combo combo = new Combo(shell, SWT.BORDER | SWT.READ_ONLY);
-            Button reset = new Button(shell, SWT.NULL);
-            reset.setText("reset collection");
-            reset.addSelectionListener(new SelectionAdapter() {
-                public void widgetSelected(SelectionEvent e) {
-                    List newList = new ArrayList();
-                    newList.add("Chocolate");
-                    newList.add("Vanilla");
-                    newList.add("Mango Parfait");
-                    newList.add("beef");
-                    newList.add("Cheesecake");
-                    newList.add(Integer.toString(++count));
-                    viewModel.setChoices(newList);
-                }
-            });
-
-            // Print value out first
-            System.out.println(viewModel.getText());
-
-            DataBindingContext dbc = new DataBindingContext();
-            
-            IObservableList list = MasterDetailObservables.detailList(BeansObservables.observeValue(viewModel, "choices"),
-                    getListDetailFactory(),
-                    String.class);
-            dbc.bindList(SWTObservables.observeItems(combo), list, null, null); 
-            dbc.bindValue(SWTObservables.observeText(combo), BeansObservables.observeValue(viewModel, "text"), null, null);
-            
-            // Open and return the Shell
-            shell.pack();
-            shell.open();
-            return shell;
-        }
-    }
-
-    private static IObservableFactory getListDetailFactory() {
-        return new IObservableFactory() {
-            public IObservable createObservable(Object target) {
-                WritableList list = WritableList.withElementType(String.class);
-                list.addAll((Collection) target);
-                return list;
-            }
-        };
-    }
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet003UpdateComboBindUsingViewer.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet003UpdateComboBindUsingViewer.java
deleted file mode 100644
index dd61634..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet003UpdateComboBindUsingViewer.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 The Pampered Chef, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     The Pampered Chef, Inc. - initial API and implementation
- *     Brad Reynolds - bug 116920
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.snippets;
-
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeSupport;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.databinding.beans.BeansObservables;
-import org.eclipse.core.databinding.observable.IObservable;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.list.IObservableList;
-import org.eclipse.core.databinding.observable.list.WritableList;
-import org.eclipse.core.databinding.observable.masterdetail.IObservableFactory;
-import org.eclipse.core.databinding.observable.masterdetail.MasterDetailObservables;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
-import org.eclipse.jface.databinding.viewers.ViewersObservables;
-import org.eclipse.jface.viewers.ComboViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Shows how to bind a Combo so that when update its items, the selection is
- * retained if at all possible.
- * 
- * @since 3.2
- */
-public class Snippet003UpdateComboBindUsingViewer {
-	public static void main(String[] args) {
-		final Display display = new Display();
-		Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
-			public void run() {
-				ViewModel viewModel = new ViewModel();
-				Shell shell = new View(viewModel).createShell();
-
-				// The SWT event loop
-				while (!shell.isDisposed()) {
-					if (!display.readAndDispatch()) {
-						display.sleep();
-					}
-				}
-				// Print the results
-				System.out.println(viewModel.getText());
-			}
-		});
-		display.dispose();
-	}
-
-	// Minimal JavaBeans support
-	public static abstract class AbstractModelObject {
-		private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(
-				this);
-
-		public void addPropertyChangeListener(PropertyChangeListener listener) {
-			propertyChangeSupport.addPropertyChangeListener(listener);
-		}
-
-		public void addPropertyChangeListener(String propertyName,
-				PropertyChangeListener listener) {
-			propertyChangeSupport.addPropertyChangeListener(propertyName,
-					listener);
-		}
-
-		public void removePropertyChangeListener(PropertyChangeListener listener) {
-			propertyChangeSupport.removePropertyChangeListener(listener);
-		}
-
-		public void removePropertyChangeListener(String propertyName,
-				PropertyChangeListener listener) {
-			propertyChangeSupport.removePropertyChangeListener(propertyName,
-					listener);
-		}
-
-		protected void firePropertyChange(String propertyName, Object oldValue,
-				Object newValue) {
-			propertyChangeSupport.firePropertyChange(propertyName, oldValue,
-					newValue);
-		}
-	}
-
-	// The View's model--the root of our Model graph for this particular GUI.
-	public static class ViewModel extends AbstractModelObject {
-		private String text = "beef";
-
-		private List choices = new ArrayList();
-		{
-			choices.add("pork");
-			choices.add("beef");
-			choices.add("poultry");
-			choices.add("vegatables");
-		}
-
-		public List getChoices() {
-			return choices;
-		}
-
-		public void setChoices(List choices) {
-			this.choices = choices;
-			firePropertyChange("choices", null, null);
-		}
-
-		public String getText() {
-			return text;
-		}
-
-		public void setText(String text) {
-			String oldValue = this.text;
-			this.text = text;
-			firePropertyChange("text", oldValue, text);
-		}
-	}
-
-	// The GUI view
-	static class View {
-		private ViewModel viewModel;
-
-		public View(ViewModel viewModel) {
-			this.viewModel = viewModel;
-		}
-
-		public Shell createShell() {
-			// Build a UI
-			Shell shell = new Shell(Display.getCurrent());
-			shell.setLayout(new RowLayout(SWT.VERTICAL));
-
-			Combo combo = new Combo(shell, SWT.BORDER | SWT.READ_ONLY);
-			ComboViewer viewer = new ComboViewer(combo);
-			Button reset = new Button(shell, SWT.NULL);
-			reset.setText("reset collection");
-			reset.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					List newList = new ArrayList();
-					newList.add("Chocolate");
-					newList.add("Vanilla");
-					newList.add("Mango Parfait");
-					newList.add("beef");
-					newList.add("Cheesecake");
-					viewModel.setChoices(newList);
-				}
-			});
-
-			// Print value out first
-			System.out.println(viewModel.getText());
-
-			DataBindingContext dbc = new DataBindingContext();
-			IObservableList list = MasterDetailObservables.detailList(
-					BeansObservables.observeValue(viewModel, "choices"),
-					getListDetailFactory(), String.class);
-			viewer.setContentProvider(new ObservableListContentProvider());
-			viewer.setInput(list);
-
-			dbc.bindValue(ViewersObservables.observeSingleSelection(viewer),
-					BeansObservables.observeValue(viewModel, "text"), null, null);
-
-			// Open and return the Shell
-			shell.pack();
-			shell.open();
-			return shell;
-		}
-	}
-
-	private static IObservableFactory getListDetailFactory() {
-		return new IObservableFactory() {
-			public IObservable createObservable(Object target) {
-				WritableList list = WritableList.withElementType(String.class);
-				list.addAll((Collection) target);
-				return list;
-			}
-		};
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet004DataBindingContextErrorLabel.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet004DataBindingContextErrorLabel.java
deleted file mode 100644
index c25b42a..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet004DataBindingContextErrorLabel.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Brad Reynolds and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Brad Reynolds - initial API and implementation
- *     Brad Reynolds - bug 116920, 159768
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.snippets;
-
-import org.eclipse.core.databinding.AggregateValidationStatus;
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.databinding.UpdateValueStrategy;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.value.WritableValue;
-import org.eclipse.core.databinding.validation.IValidator;
-import org.eclipse.core.databinding.validation.ValidationStatus;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Snippet that displays how to bind the validation error of the
- * {@link DataBindingContext} to a label.
- * 
- * @since 3.2
- */
-public class Snippet004DataBindingContextErrorLabel {
-	public static void main(String[] args) {
-		final Display display = new Display();
-		Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
-			public void run() {
-				Shell shell = new Shell(display);
-				shell.setLayout(new GridLayout(2, false));
-
-				new Label(shell, SWT.NONE).setText("Enter '5' to be valid:");
-
-				Text text = new Text(shell, SWT.BORDER);
-				WritableValue value = WritableValue.withValueType(String.class);
-				new Label(shell, SWT.NONE).setText("Error:");
-
-				Label errorLabel = new Label(shell, SWT.BORDER);
-				errorLabel.setForeground(display.getSystemColor(SWT.COLOR_RED));
-				GridDataFactory.swtDefaults().hint(200, SWT.DEFAULT).applyTo(
-						errorLabel);
-
-				DataBindingContext dbc = new DataBindingContext();
-
-				// Bind the text to the value.
-				dbc.bindValue(SWTObservables.observeText(text, SWT.Modify),
-						value, new UpdateValueStrategy().setAfterConvertValidator(new FiveValidator()), null);
-
-				// Bind the error label to the validation error on the dbc.
-				dbc.bindValue(SWTObservables.observeText(errorLabel),
-						new AggregateValidationStatus(dbc.getBindings(),
-								AggregateValidationStatus.MAX_SEVERITY), null,
-						null);
-
-				shell.pack();
-				shell.open();
-				while (!shell.isDisposed()) {
-					if (!display.readAndDispatch())
-						display.sleep();
-				}
-			}
-		});
-		display.dispose();
-	}
-
-	/**
-	 * Validator that returns validation errors for any value other than 5.
-	 * 
-	 * @since 3.2
-	 */
-	private static class FiveValidator implements IValidator {
-		public IStatus validate(Object value) {
-			return ("5".equals(value)) ? Status.OK_STATUS : ValidationStatus
-					.error("the value was '" + value + "', not '5'");
-		}
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet005MenuUpdater.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet005MenuUpdater.java
deleted file mode 100644
index f84b40c..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet005MenuUpdater.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Brad Reynolds - bug 116920
- *******************************************************************************/
-package org.eclipse.jface.examples.databinding.snippets;
-
-import java.util.Date;
-import java.util.Iterator;
-
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.list.WritableList;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.internal.databinding.provisional.swt.MenuUpdater;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- */
-public class Snippet005MenuUpdater {
-	public static void main(String[] args) {
-		final Display display = new Display();
-		Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
-			public void run() {
-				Shell shell = new Shell(display);
-
-				final WritableList menuItemStrings = new WritableList();
-				display.asyncExec(new Runnable() {
-					public void run() {
-						System.out.println("adding item");
-						menuItemStrings.add(new Date().toString());
-						display.timerExec(5000, this);
-					}
-				});
-
-				Menu bar = new Menu(shell, SWT.BAR);
-				shell.setMenuBar(bar);
-				MenuItem fileItem = new MenuItem(bar, SWT.CASCADE);
-				fileItem.setText("&Test Menu");
-				final Menu submenu = new Menu(shell, SWT.DROP_DOWN);
-				fileItem.setMenu(submenu);
-				new MenuUpdater(submenu) {
-					protected void updateMenu() {
-						System.out.println("updating menu");
-						MenuItem[] items = submenu.getItems();
-						int itemIndex = 0;
-						for (Iterator it = menuItemStrings.iterator(); it
-								.hasNext();) {
-							MenuItem item;
-							if (itemIndex < items.length) {
-								item = items[itemIndex++];
-							} else {
-								item = new MenuItem(submenu, SWT.NONE);
-							}
-							String string = (String) it.next();
-							item.setText(string);
-						}
-						while (itemIndex < items.length) {
-							items[itemIndex++].dispose();
-						}
-					}
-				};
-
-				shell.open();
-
-				// The SWT event loop
-				while (!shell.isDisposed()) {
-					if (!display.readAndDispatch()) {
-						display.sleep();
-					}
-				}
-			}
-		});
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet006Spreadsheet.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet006Spreadsheet.java
deleted file mode 100644
index 38f4334..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet006Spreadsheet.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Brad Reynolds - bug 116920
- *******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.snippets;
-
-import java.text.NumberFormat;
-import java.text.ParseException;
-
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.value.ComputedValue;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.core.databinding.observable.value.WritableValue;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.internal.databinding.provisional.swt.TableUpdater;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ControlEditor;
-import org.eclipse.swt.custom.TableCursor;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * @since 1.1
- * 
- */
-public class Snippet006Spreadsheet {
-
-	private static final int COUNTER_UPDATE_DELAY = 1000;
-
-	private static final int NUM_COLUMNS = 16;
-
-	private static final int NUM_ROWS = 100;
-
-	/**
-	 * 0 for no output, 1 for some, 2 for more
-	 */
-	private static int DEBUG_LEVEL = 0;
-
-	/**
-	 * If true, there will be a automatic counter at B1.
-	 */
-	private static boolean FUNKY_COUNTER = true;
-
-	/**
-	 * // * If true, all formulas (except for row 1 and column A) will be the
-	 * sum of the values of their left and top neighbouring cells.
-	 */
-	private static boolean FUNKY_FORMULAS = true;
-
-	static WritableValue[][] cellFormulas = new WritableValue[NUM_ROWS][NUM_COLUMNS];
-
-	static ComputedValue[][] cellValues = new ComputedValue[NUM_ROWS][NUM_COLUMNS];
-
-	static class ComputedCellValue extends ComputedValue {
-		private final IObservableValue cellFormula;
-
-		private boolean calculating;
-
-		ComputedCellValue(IObservableValue cellFormula) {
-			this.cellFormula = cellFormula;
-		}
-
-		protected Object calculate() {
-			if (calculating) {
-				return "#cycle";
-			}
-			try {
-				calculating = true;
-				return evaluate(cellFormula.getValue());
-			} finally {
-				calculating = false;
-			}
-		}
-
-		private Object evaluate(Object value) {
-			if (DEBUG_LEVEL >= 2) {
-				System.out.println("evaluating " + this + " ...");
-			}
-			if (value == null) {
-				return "";
-			}
-			try {
-				String s = (String) value;
-				if (!s.startsWith("=")) {
-					return s;
-				}
-				String addition = s.substring(1);
-				int indexOfPlus = addition.indexOf('+');
-				String operand1 = addition.substring(0, indexOfPlus);
-				double value1 = eval(operand1);
-				String operand2 = addition.substring(indexOfPlus + 1);
-				double value2 = eval(operand2);
-				return NumberFormat.getNumberInstance().format(value1 + value2);
-			} catch (Exception ex) {
-				return ex.getMessage();
-			}
-		}
-
-		/**
-		 * @param s
-		 * @return
-		 * @throws ParseException
-		 */
-		private double eval(String s) throws ParseException {
-			if (s.length() == 0) {
-				return 0;
-			}
-			char character = s.charAt(0);
-			if (Character.isLetter(character)) {
-				character = Character.toLowerCase(character);
-				// reference to other cell
-				int columnIndex = character - 'a';
-				int rowIndex = 0;
-				rowIndex = NumberFormat.getNumberInstance().parse(
-						s.substring(1)).intValue() - 1;
-				String value = (String) cellValues[rowIndex][columnIndex]
-						.getValue();
-				return value.length() == 0 ? 0 : NumberFormat
-						.getNumberInstance().parse(value).doubleValue();
-			}
-			return NumberFormat.getNumberInstance().parse(s).doubleValue();
-		}
-	}
-
-	protected static int counter;
-
-	public static void main(String[] args) {
-
-		final Display display = new Display();
-		Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
-			public void run() {
-				Shell shell = new Shell(display);
-
-				final Table table = new Table(shell, SWT.BORDER | SWT.MULTI
-						| SWT.FULL_SELECTION | SWT.VIRTUAL);
-				table.setLinesVisible(true);
-				table.setHeaderVisible(true);
-
-				for (int i = 0; i < NUM_COLUMNS; i++) {
-					TableColumn tableColumn = new TableColumn(table, SWT.NONE);
-					tableColumn.setText(Character.toString((char) ('A' + i)));
-					tableColumn.setWidth(40);
-				}
-				for (int i = 0; i < NUM_ROWS; i++) {
-					new TableItem(table, SWT.NONE);
-					for (int j = 0; j < NUM_COLUMNS; j++) {
-						cellFormulas[i][j] = new WritableValue();
-						cellValues[i][j] = new ComputedCellValue(
-								cellFormulas[i][j]);
-						if (!FUNKY_FORMULAS || i == 0 || j == 0) {
-							cellFormulas[i][j].setValue("");
-						} else {
-							cellFormulas[i][j].setValue("="
-									+ cellReference(i - 1, j) + "+"
-									+ cellReference(i, j - 1));
-						}
-					}
-				}
-
-				new TableUpdater(table) {
-					protected void updateItem(TableItem item) {
-						int rowIndex = item.getParent().indexOf(item);
-						if (DEBUG_LEVEL >= 1) {
-							System.out.println("updating row " + rowIndex);
-						}
-						for (int j = 0; j < NUM_COLUMNS; j++) {
-							item.setText(j, (String) cellValues[rowIndex][j]
-									.getValue());
-						}
-					}
-				};
-
-				if (FUNKY_COUNTER) {
-					// counter in A1
-					display.asyncExec(new Runnable() {
-						public void run() {
-							cellFormulas[0][1].setValue("" + counter++);
-							display.timerExec(COUNTER_UPDATE_DELAY, this);
-						}
-					});
-				}
-
-				// create a TableCursor to navigate around the table
-				final TableCursor cursor = new TableCursor(table, SWT.NONE);
-				// create an editor to edit the cell when the user hits "ENTER"
-				// while over a cell in the table
-				final ControlEditor editor = new ControlEditor(cursor);
-				editor.grabHorizontal = true;
-				editor.grabVertical = true;
-
-				cursor.addSelectionListener(new SelectionAdapter() {
-					// when the TableEditor is over a cell, select the
-					// corresponding row
-					// in
-					// the table
-					public void widgetSelected(SelectionEvent e) {
-						table.setSelection(new TableItem[] { cursor.getRow() });
-					}
-
-					// when the user hits "ENTER" in the TableCursor, pop up a
-					// text
-					// editor so that
-					// they can change the text of the cell
-					public void widgetDefaultSelected(SelectionEvent e) {
-						final Text text = new Text(cursor, SWT.NONE);
-						TableItem row = cursor.getRow();
-						int rowIndex = table.indexOf(row);
-						int columnIndex = cursor.getColumn();
-						text
-								.setText((String) cellFormulas[rowIndex][columnIndex]
-										.getValue());
-						text.addKeyListener(new KeyAdapter() {
-							public void keyPressed(KeyEvent e) {
-								// close the text editor and copy the data over
-								// when the user hits "ENTER"
-								if (e.character == SWT.CR) {
-									TableItem row = cursor.getRow();
-									int rowIndex = table.indexOf(row);
-									int columnIndex = cursor.getColumn();
-									cellFormulas[rowIndex][columnIndex]
-											.setValue(text.getText());
-									text.dispose();
-								}
-								// close the text editor when the user hits
-								// "ESC"
-								if (e.character == SWT.ESC) {
-									text.dispose();
-								}
-							}
-						});
-						editor.setEditor(text);
-						text.setFocus();
-					}
-				});
-				// Hide the TableCursor when the user hits the "MOD1" or "MOD2"
-				// key.
-				// This alows the user to select multiple items in the table.
-				cursor.addKeyListener(new KeyAdapter() {
-					public void keyPressed(KeyEvent e) {
-						if (e.keyCode == SWT.MOD1 || e.keyCode == SWT.MOD2
-								|| (e.stateMask & SWT.MOD1) != 0
-								|| (e.stateMask & SWT.MOD2) != 0) {
-							cursor.setVisible(false);
-						}
-					}
-				});
-				// Show the TableCursor when the user releases the "MOD2" or
-				// "MOD1" key.
-				// This signals the end of the multiple selection task.
-				table.addKeyListener(new KeyAdapter() {
-					public void keyReleased(KeyEvent e) {
-						if (e.keyCode == SWT.MOD1
-								&& (e.stateMask & SWT.MOD2) != 0)
-							return;
-						if (e.keyCode == SWT.MOD2
-								&& (e.stateMask & SWT.MOD1) != 0)
-							return;
-						if (e.keyCode != SWT.MOD1
-								&& (e.stateMask & SWT.MOD1) != 0)
-							return;
-						if (e.keyCode != SWT.MOD2
-								&& (e.stateMask & SWT.MOD2) != 0)
-							return;
-
-						TableItem[] selection = table.getSelection();
-						TableItem row = (selection.length == 0) ? table
-								.getItem(table.getTopIndex()) : selection[0];
-						table.showItem(row);
-						cursor.setSelection(row, 0);
-						cursor.setVisible(true);
-						cursor.setFocus();
-					}
-				});
-
-				GridLayoutFactory.fillDefaults().generateLayout(shell);
-				shell.setSize(400, 300);
-				shell.open();
-
-				// The SWT event loop
-				while (!shell.isDisposed()) {
-					if (!display.readAndDispatch()) {
-						display.sleep();
-					}
-				}
-			}
-		});
-		display.dispose();
-	}
-
-	private static String cellReference(int rowIndex, int columnIndex) {
-		String cellReference = "" + ((char) ('A' + columnIndex))
-				+ (rowIndex + 1);
-		return cellReference;
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet007ColorLabelProvider.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet007ColorLabelProvider.java
deleted file mode 100644
index aac19d2..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet007ColorLabelProvider.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Brad Reynolds and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Brad Reynolds - initial API and implementation
- *     IBM Corporation - see bug 137934
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.snippets;
-
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeSupport;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.databinding.beans.BeansObservables;
-import org.eclipse.core.databinding.observable.Observables;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.list.IObservableList;
-import org.eclipse.core.databinding.observable.map.IObservableMap;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
-import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ITableColorProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-
-/**
- * An example showing how to create a {@link ILabelProvider label provider} that
- * to provide colors.
- * 
- * @since 3.2
- */
-public class Snippet007ColorLabelProvider {
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		final List persons = new ArrayList();
-		persons.add(new Person("Fiona Apple", Person.FEMALE));
-		persons.add(new Person("Elliot Smith", Person.MALE));
-		persons.add(new Person("Diana Krall", Person.FEMALE));
-		persons.add(new Person("David Gilmour", Person.MALE));
-
-		final Display display = new Display();
-		Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
-			public void run() {
-				Shell shell = new Shell(display);
-				shell.setText("Gender Bender");
-				shell.setLayout(new GridLayout());
-
-				Table table = new Table(shell, SWT.SINGLE | SWT.H_SCROLL
-						| SWT.V_SCROLL | SWT.BORDER);
-				GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
-				table.setLayoutData(gridData);
-				table.setHeaderVisible(true);
-				table.setLinesVisible(true);
-				TableColumn column = new TableColumn(table, SWT.NONE);
-				column.setText("No");
-				column.setWidth(20);
-				column = new TableColumn(table, SWT.NONE);
-				column.setText("Name");
-				column.setWidth(100);
-				final TableViewer viewer = new TableViewer(table);
-
-				IObservableList observableList = Observables
-						.staticObservableList(persons);
-				ObservableListContentProvider contentProvider = new ObservableListContentProvider();
-
-				viewer.setContentProvider(contentProvider);
-
-				// this does not have to correspond to the columns in the table,
-				// we just list all attributes that affect the table content.
-				IObservableMap[] attributes = BeansObservables.observeMaps(
-						contentProvider.getKnownElements(), Person.class,
-						new String[] { "name", "gender" });
-
-				class ColorLabelProvider extends ObservableMapLabelProvider
-						implements ITableColorProvider {
-					Color male = display.getSystemColor(SWT.COLOR_BLUE);
-
-					Color female = new Color(display, 255, 192, 203);
-
-					ColorLabelProvider(IObservableMap[] attributes) {
-						super(attributes);
-					}
-
-					// to drive home the point that attributes does not have to
-					// match
-					// the columns
-					// in the table, we change the column text as follows:
-					public String getColumnText(Object element, int index) {
-						if (index == 0) {
-							return Integer
-									.toString(persons.indexOf(element) + 1);
-						}
-						return ((Person) element).getName();
-					}
-
-					public Color getBackground(Object element, int index) {
-						return null;
-					}
-
-					public Color getForeground(Object element, int index) {
-						if (index == 0)
-							return null;
-						Person person = (Person) element;
-						return (person.getGender() == Person.MALE) ? male
-								: female;
-					}
-
-					public void dispose() {
-						super.dispose();
-						female.dispose();
-					}
-				}
-				viewer.setLabelProvider(new ColorLabelProvider(attributes));
-
-				viewer.setInput(observableList);
-
-				table.getColumn(0).pack();
-
-				Button button = new Button(shell, SWT.PUSH);
-				button.setText("Toggle Gender");
-				button.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent arg0) {
-						StructuredSelection selection = (StructuredSelection) viewer
-								.getSelection();
-						if (selection != null && !selection.isEmpty()) {
-							Person person = (Person) selection
-									.getFirstElement();
-							person
-									.setGender((person.getGender() == Person.MALE) ? Person.FEMALE
-											: Person.MALE);
-						}
-					}
-				});
-
-				shell.setSize(300, 400);
-				shell.open();
-
-				while (!shell.isDisposed()) {
-					if (!display.readAndDispatch())
-						display.sleep();
-				}
-			}
-		});
-		display.dispose();
-	}
-
-	private static class Person {
-		static final int MALE = 0;
-
-		static final int FEMALE = 1;
-
-		private String name;
-
-		private int gender;
-
-		private PropertyChangeSupport changeSupport = new PropertyChangeSupport(
-				this);
-
-		Person(String name, int gender) {
-			this.name = name;
-			this.gender = gender;
-		}
-
-		/**
-		 * Returns the name. Method declared public to satisfy Java bean
-		 * conventions
-		 * 
-		 * @return the name
-		 */
-		public String getName() {
-			return name;
-		}
-
-		/**
-		 * @param listener
-		 */
-		public void addPropertyChangeListener(PropertyChangeListener listener) {
-			changeSupport.addPropertyChangeListener(listener);
-		}
-		
-		public void removePropertyChangeListener(PropertyChangeListener listener) {
-			changeSupport.removePropertyChangeListener(listener);
-		}
-
-		/**
-		 * Returns the gender. Method declared public to satisfy Java bean
-		 * conventions
-		 * 
-		 * @return the gender
-		 */
-		public int getGender() {
-			return gender;
-		}
-
-		void setGender(int gender) {
-			changeSupport.firePropertyChange("gender", this.gender,
-					this.gender = gender);
-		}
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet008ComputedValue.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet008ComputedValue.java
deleted file mode 100644
index 38433d9..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet008ComputedValue.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Brad Reynolds and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Brad Reynolds - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.snippets;
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.databinding.UpdateValueStrategy;
-import org.eclipse.core.databinding.observable.ObservableTracker;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.value.ComputedValue;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.core.databinding.observable.value.WritableValue;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Snippet that demostrates a simple use case using ComputedValue to format a
- * name as the user enters first and last name.
- * 
- * @since 3.2
- */
-public class Snippet008ComputedValue {
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		final Display display = new Display();
-		Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
-			public void run() {
-				Shell shell = new Shell(display);
-				shell.setLayout(new FillLayout());
-
-				final UI ui = new UI(shell);
-				final Data data = new Data();
-
-				// Bind the UI to the Data.
-				DataBindingContext dbc = new DataBindingContext();
-				dbc.bindValue(SWTObservables.observeText(ui.firstName,
-						SWT.Modify), data.firstName, null, null);
-				dbc.bindValue(SWTObservables.observeText(ui.lastName,
-						SWT.Modify), data.lastName, null, null);
-
-				// Construct the formatted name observable.
-				FormattedName formattedName = new FormattedName(data.firstName,
-						data.lastName);
-
-				// Bind the formatted name Text to the formatted name
-				// observable.
-				dbc.bindValue(SWTObservables.observeText(ui.formattedName,
-						SWT.None), formattedName, new UpdateValueStrategy(false, UpdateValueStrategy.POLICY_NEVER), null);
-
-				shell.pack();
-				shell.open();
-				while (!shell.isDisposed()) {
-					if (!display.readAndDispatch())
-						display.sleep();
-				}
-			}
-		});
-		display.dispose();
-	}
-
-	/**
-	 * Creates the formatted name on change of the first or last name
-	 * observables.
-	 * <p>
-	 * The key to understanding ComputedValue is understanding that it knows of
-	 * the observables that are queried without being told. This is done with
-	 * {@link ObservableTracker} voodoo. When calculate() is invoked
-	 * <code>ObservableTracker</code> records the observables that are
-	 * queried. It then exposes those observables and <code>ComputedValue</code>
-	 * can listen to changes in those objects and react accordingly.
-	 * </p>
-	 * 
-	 * @since 3.2
-	 */
-	static class FormattedName extends ComputedValue {
-		private IObservableValue firstName;
-
-		private IObservableValue lastName;
-
-		FormattedName(IObservableValue firstName, IObservableValue lastName) {
-			this.firstName = firstName;
-			this.lastName = lastName;
-		}
-
-		protected Object calculate() {
-			String lastName = (String) this.lastName.getValue();
-			String firstName = (String) this.firstName.getValue();
-			lastName = (lastName != null && lastName.length() > 0) ? lastName
-					: "[Last Name]";
-			firstName = (firstName != null && firstName.length() > 0) ? firstName
-					: "[First Name]";
-
-			StringBuffer buffer = new StringBuffer();
-			buffer.append(lastName).append(", ").append(firstName);
-
-			return buffer.toString();
-		}
-	}
-
-	static class Data {
-		final WritableValue firstName;
-
-		final WritableValue lastName;
-
-		Data() {
-			firstName = new WritableValue("", String.class);
-			lastName = new WritableValue("", String.class);
-		}
-	}
-
-	/**
-	 * Composite that creates the UI.
-	 * 
-	 * @since 3.2
-	 */
-	static class UI extends Composite {
-		final Text firstName;
-
-		final Text lastName;
-
-		final Text formattedName;
-
-		UI(Composite parent) {
-			super(parent, SWT.NONE);
-
-			GridLayoutFactory.swtDefaults().numColumns(2).applyTo(this);
-
-			new Label(this, SWT.NONE).setText("First Name:");
-			new Label(this, SWT.NONE).setText("Last Name");
-
-			GridDataFactory gdf = GridDataFactory.swtDefaults().align(SWT.FILL,
-					SWT.FILL).grab(true, false);
-			firstName = new Text(this, SWT.BORDER);
-			gdf.applyTo(firstName);
-
-			lastName = new Text(this, SWT.BORDER);
-			gdf.applyTo(lastName);
-
-			gdf = GridDataFactory.swtDefaults().span(2, 1).grab(true, false)
-					.align(SWT.FILL, SWT.BEGINNING);
-			Label label = new Label(this, SWT.NONE);
-			label.setText("Formatted Name:");
-			gdf.applyTo(label);
-
-			formattedName = new Text(this, SWT.BORDER);
-			formattedName.setEditable(false);
-			gdf.applyTo(formattedName);
-		}
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet009TableViewer.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet009TableViewer.java
deleted file mode 100644
index a96d5ec..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet009TableViewer.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 The Pampered Chef, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Coconut Palm Software, Inc. - Initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.snippets;
-
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeSupport;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.databinding.beans.BeansObservables;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.list.WritableList;
-import org.eclipse.core.databinding.observable.map.IObservableMap;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
-import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-
-/**
- * Demonstrates binding a TableViewer to a collection.
- */
-public class Snippet009TableViewer {
-	public static void main(String[] args) {
-		ViewModel viewModel = new ViewModel();
-		Shell shell = new View(viewModel).createShell();
-
-		// The SWT event loop
-		Display display = Display.getCurrent();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) {
-				display.sleep();
-			}
-		}
-	}
-
-	// Minimal JavaBeans support
-	public static abstract class AbstractModelObject {
-		private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(
-				this);
-
-		public void addPropertyChangeListener(PropertyChangeListener listener) {
-			propertyChangeSupport.addPropertyChangeListener(listener);
-		}
-
-		public void addPropertyChangeListener(String propertyName,
-				PropertyChangeListener listener) {
-			propertyChangeSupport.addPropertyChangeListener(propertyName,
-					listener);
-		}
-
-		public void removePropertyChangeListener(PropertyChangeListener listener) {
-			propertyChangeSupport.removePropertyChangeListener(listener);
-		}
-
-		public void removePropertyChangeListener(String propertyName,
-				PropertyChangeListener listener) {
-			propertyChangeSupport.removePropertyChangeListener(propertyName,
-					listener);
-		}
-
-		protected void firePropertyChange(String propertyName, Object oldValue,
-				Object newValue) {
-			propertyChangeSupport.firePropertyChange(propertyName, oldValue,
-					newValue);
-		}
-	}
-
-	// The data model class. This is normally a persistent class of some sort.
-	static class Person extends AbstractModelObject {
-		// A property...
-		String name = "John Smith";
-
-		public Person(String name) {
-			this.name = name;
-		}
-
-		public String getName() {
-			return name;
-		}
-
-		public void setName(String name) {
-			String oldValue = this.name;
-			this.name = name;
-			firePropertyChange("name", oldValue, name);
-		}
-	}
-
-	// The View's model--the root of our Model graph for this particular GUI.
-	//
-	// Typically each View class has a corresponding ViewModel class.
-	// The ViewModel is responsible for getting the objects to edit from the
-	// data access tier. Since this snippet doesn't have any persistent objects 
-	// ro retrieve, this ViewModel just instantiates a model object to edit.
-	static class ViewModel {
-		// The model to bind
-		private List people = new LinkedList(); {
-			people.add(new Person("Steve Northover"));
-			people.add(new Person("Grant Gayed"));
-			people.add(new Person("Veronika Irvine"));
-			people.add(new Person("Mike Wilson"));
-			people.add(new Person("Christophe Cornu"));
-			people.add(new Person("Lynne Kues"));
-			people.add(new Person("Silenio Quarti"));
-		}
-
-		public List getPeople() {
-			return people;
-		}
-	}
-
-	// The GUI view
-	static class View {
-		private ViewModel viewModel;
-		private Table committers;
-
-		public View(ViewModel viewModel) {
-			this.viewModel = viewModel;
-		}
-
-		public Shell createShell() {
-			// Build a UI
-			Display display = Display.getDefault();
-			Shell shell = new Shell(display);
-			shell.setLayout(new FillLayout());
-			committers = new Table(shell, SWT.BORDER | SWT.FULL_SELECTION);
-			committers.setLinesVisible(true);
-			
-			// Set up data binding. In an RCP application, the threading Realm
-			// will be set for you automatically by the Workbench. In an SWT
-			// application, you can do this once, wrpping your binding
-			// method call.
-			Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
-				public void run() {
-					DataBindingContext bindingContext = new DataBindingContext();
-					bindGUI(bindingContext);
-				}
-			});
-
-			// Open and return the Shell
-			shell.setSize(100, 300);
-			shell.open();
-			return shell;
-		}
-
-		protected void bindGUI(DataBindingContext bindingContext) {
-			// Since we're using a JFace Viewer, we do first wrap our Table...
-			TableViewer peopleViewer = new TableViewer(committers);
-			
-			// Create a standard content provider
-			ObservableListContentProvider peopleViewerContentProvider = 
-				new ObservableListContentProvider();
-			peopleViewer.setContentProvider(peopleViewerContentProvider);
-			
-			// And a standard label provider that maps columns
-			IObservableMap[] attributeMaps = BeansObservables.observeMaps(
-					peopleViewerContentProvider.getKnownElements(), Person.class,
-					new String[] { "name" });
-			peopleViewer.setLabelProvider(new ObservableMapLabelProvider(attributeMaps));
-			
-			// Now set the Viewer's input
-			peopleViewer.setInput(new WritableList(viewModel.getPeople(), Person.class));
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet010MasterDetail.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet010MasterDetail.java
deleted file mode 100644
index b4cb426..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet010MasterDetail.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Brad Reynolds and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Brad Reynolds - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.snippets;
-
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeSupport;
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.databinding.UpdateValueStrategy;
-import org.eclipse.core.databinding.beans.BeansObservables;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.databinding.viewers.ViewersObservables;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Snippet that displays a simple master detail use case. A list of persons is
- * displayed in a list and upon selection the name of the selected person will
- * be displayed in a Text widget.
- */
-public class Snippet010MasterDetail {
-	public static void main(String[] args) {
-		final Display display = new Display();
-		Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
-			public void run() {
-				Shell shell = new Shell(display);
-				shell.setLayout(new GridLayout());
-
-				Person[] persons = new Person[] { new Person("Me"),
-						new Person("Myself"), new Person("I") };
-
-				ListViewer viewer = new ListViewer(shell);
-				viewer.setContentProvider(new ArrayContentProvider());
-				viewer.setInput(persons);
-
-				Text name = new Text(shell, SWT.BORDER | SWT.READ_ONLY);
-
-				// 1. Observe changes in selection.
-				IObservableValue selection = ViewersObservables
-						.observeSingleSelection(viewer);
-
-				// 2. Observe the name property of the current selection.
-				IObservableValue detailObservable = BeansObservables
-						.observeDetailValue(Realm.getDefault(), selection,
-								"name", String.class);
-
-				// 3. Bind the Text widget to the name detail (selection's
-				// name).
-				new DataBindingContext().bindValue(SWTObservables.observeText(
-						name, SWT.None), detailObservable,
-						new UpdateValueStrategy(false,
-								UpdateValueStrategy.POLICY_NEVER), null);
-
-				shell.open();
-				while (!shell.isDisposed()) {
-					if (!display.readAndDispatch())
-						display.sleep();
-				}
-			}
-		});
-		display.dispose();
-	}
-
-	public static class Person {
-		private String name;
-		private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
-
-		Person(String name) {
-			this.name = name;
-		}
-
-		public void addPropertyChangeListener(PropertyChangeListener listener) {
-			changeSupport.addPropertyChangeListener(listener);
-		}
-		
-		public void removePropertyChangeListener(PropertyChangeListener listener) {
-			changeSupport.removePropertyChangeListener(listener);
-		}
-		
-		/**
-		 * @return Returns the name.
-		 */
-		public String getName() {
-			return name;
-		}
-
-		public String toString() {
-			return name;
-		}
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet011ValidateMultipleBindingsSnippet.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet011ValidateMultipleBindingsSnippet.java
deleted file mode 100644
index 59ae4c2..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet011ValidateMultipleBindingsSnippet.java
+++ /dev/null
@@ -1,129 +0,0 @@
- /*******************************************************************************
- * Copyright (c) 2007 Brad Reynolds and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Brad Reynolds - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.snippets;
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.databinding.UpdateValueStrategy;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.core.databinding.observable.value.IValueChangeListener;
-import org.eclipse.core.databinding.observable.value.ValueChangeEvent;
-import org.eclipse.core.databinding.observable.value.WritableValue;
-import org.eclipse.core.databinding.validation.IValidator;
-import org.eclipse.core.databinding.validation.ValidationStatus;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Snippet that validates values across multiple bindings on change of each
- * observable. If the values of the target observables are not equal the model
- * is not updated. When the values are equal they will be written to sysout.
- * 
- * @author Brad Reynolds
- */
-public class Snippet011ValidateMultipleBindingsSnippet {
-	public static void main(String[] args) {
-		Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()),
-				new Runnable() {
-					public void run() {
-						Snippet011ValidateMultipleBindingsSnippet.run();
-					}
-				});
-	}
-
-	private static void run() {
-		Shell shell = new Shell();
-
-		View view = new View(shell);
-		final Model model = new Model();
-
-		DataBindingContext dbc = new DataBindingContext();
-		dbc.bindValue(SWTObservables.observeText(view.text1, SWT.Modify),
-				model.value1, new UpdateValueStrategy()
-						.setAfterConvertValidator(new CrossFieldValidator(
-								model.value2)), null);
-		dbc.bindValue(SWTObservables.observeText(view.text2, SWT.Modify),
-				model.value2, new UpdateValueStrategy()
-						.setAfterConvertValidator(new CrossFieldValidator(
-								model.value1)), null);
-
-		// DEBUG - print to show value change
-		model.value1.addValueChangeListener(new IValueChangeListener() {
-			public void handleValueChange(ValueChangeEvent event) {
-				System.out.println("Value 1: " + model.value1.getValue());
-			}
-		});
-
-		// DEBUG - print to show value change
-		model.value2.addValueChangeListener(new IValueChangeListener() {
-			public void handleValueChange(ValueChangeEvent event) {
-				System.out.println("Value 2: " + model.value2.getValue());
-			}
-		});
-
-		shell.pack();
-		shell.open();
-		Display display = shell.getDisplay();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-
-	/**
-	 * @since 3.2
-	 * 
-	 */
-	private static final class CrossFieldValidator implements IValidator {
-		/**
-		 * 
-		 */
-		private final IObservableValue other;
-
-		/**
-		 * @param model
-		 */
-		private CrossFieldValidator(IObservableValue other) {
-			this.other = other;
-		}
-
-		public IStatus validate(Object value) {
-			if (!value.equals(other.getValue())) {
-				return ValidationStatus.ok();
-			}
-			return ValidationStatus.error("values cannot be the same");
-		}
-	}
-
-	static class Model {
-		WritableValue value1 = new WritableValue();
-		WritableValue value2 = new WritableValue();
-	}
-
-	static class View {
-		Text text1;
-		Text text2;
-
-		View(Composite composite) {
-			composite.setLayout(new GridLayout(2, true));
-			text1 = new Text(composite, SWT.BORDER);
-			text2 = new Text(composite, SWT.BORDER);
-		}
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet012CompositeUpdater.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet012CompositeUpdater.java
deleted file mode 100644
index 64756bb..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet012CompositeUpdater.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.snippets;
-
-import java.util.Timer;
-import java.util.TimerTask;
-
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.list.WritableList;
-import org.eclipse.core.databinding.observable.value.WritableValue;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.internal.databinding.provisional.swt.CompositeUpdater;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * @since 3.2
- * 
- */
-public class Snippet012CompositeUpdater {
-
-	public static void main(String[] args) {
-		final Display display = new Display();
-		Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
-			public void run() {
-				Shell shell = new Shell(display);
-
-				final WritableList list = new WritableList();
-
-				Button button = new Button(shell, SWT.PUSH);
-				button.setText("add");
-				button.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(
-							org.eclipse.swt.events.SelectionEvent e) {
-						list.add(new Counter());
-					}
-				});
-
-				final Composite composite = new Composite(shell, SWT.None);
-				composite.setLayout(new FillLayout(SWT.VERTICAL));
-
-				new CompositeUpdater(composite, list) {
-					protected Widget createWidget(int index) {
-						return new Label(composite, SWT.BORDER);
-					}
-
-					protected void updateWidget(Widget widget, Object element) {
-						((Label) widget).setText(((Counter) element).getValue()
-								+ "");
-					}
-				};
-
-				GridDataFactory.fillDefaults().grab(true, true).applyTo(
-						composite);
-
-				GridLayoutFactory.fillDefaults().generateLayout(shell);
-				shell.pack();
-				shell.open();
-				while (!shell.isDisposed()) {
-					if (!display.readAndDispatch())
-						display.sleep();
-				}
-			}
-		});
-		display.dispose();
-	}
-
-	static Timer timer = new Timer(true);
-
-	static class Counter extends WritableValue {
-		Counter() {
-			super(new Integer(0), Integer.class);
-			scheduleIncrementTask();
-		}
-
-		private void scheduleIncrementTask() {
-			timer.schedule(new TimerTask() {
-				public void run() {
-					// we have to get onto the realm (UI thread) to perform the
-					// increment
-					getRealm().asyncExec(new Runnable() {
-						public void run() {
-							Integer currentVal = (Integer) getValue();
-							setValue(new Integer(currentVal.intValue() + 1));
-						}
-					});
-					scheduleIncrementTask();
-				}
-			}, 1000);
-		}
-	}
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet013TableViewerEditing.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet013TableViewerEditing.java
deleted file mode 100644
index 65dda9b..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet013TableViewerEditing.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 The Pampered Chef, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     The Pampered Chef, Inc. - initial API and implementation
- *     Tom Schindl - cell editing
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.snippets;
-
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeSupport;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.core.databinding.Binding;
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.databinding.UpdateValueStrategy;
-import org.eclipse.core.databinding.beans.BeansObservables;
-import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.list.WritableList;
-import org.eclipse.core.databinding.observable.map.IObservableMap;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
-import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider;
-import org.eclipse.jface.databinding.viewers.ViewersObservables;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnViewer;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationListener;
-import org.eclipse.jface.viewers.ColumnViewerEditorDeactivationEvent;
-import org.eclipse.jface.viewers.EditingSupport;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TableViewerColumn;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.ViewerCell;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-
-/**
- * Demonstrates binding a TableViewer to a collection using the 3.3 Viewer APIs.
- */
-public class Snippet013TableViewerEditing {
-	public static void main(String[] args) {
-		final Display display = new Display();
-		Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
-			public void run() {
-				ViewModel viewModel = new ViewModel();
-				Shell shell = new View(viewModel).createShell();
-
-				// The SWT event loop
-				while (!shell.isDisposed()) {
-					if (!display.readAndDispatch()) {
-						display.sleep();
-					}
-				}
-			}
-		});
-	}
-
-	// Minimal JavaBeans support
-	public static abstract class AbstractModelObject {
-		private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(
-				this);
-
-		public void addPropertyChangeListener(PropertyChangeListener listener) {
-			propertyChangeSupport.addPropertyChangeListener(listener);
-		}
-
-		public void addPropertyChangeListener(String propertyName,
-				PropertyChangeListener listener) {
-			propertyChangeSupport.addPropertyChangeListener(propertyName,
-					listener);
-		}
-
-		public void removePropertyChangeListener(PropertyChangeListener listener) {
-			propertyChangeSupport.removePropertyChangeListener(listener);
-		}
-
-		public void removePropertyChangeListener(String propertyName,
-				PropertyChangeListener listener) {
-			propertyChangeSupport.removePropertyChangeListener(propertyName,
-					listener);
-		}
-
-		protected void firePropertyChange(String propertyName, Object oldValue,
-				Object newValue) {
-			propertyChangeSupport.firePropertyChange(propertyName, oldValue,
-					newValue);
-		}
-	}
-
-	// The data model class. This is normally a persistent class of some sort.
-	static class Person extends AbstractModelObject {
-		// A property...
-		String name = "John Smith";
-
-		public Person(String name) {
-			this.name = name;
-		}
-
-		public String getName() {
-			return name;
-		}
-
-		public void setName(String name) {
-			String oldValue = this.name;
-			this.name = name;
-			firePropertyChange("name", oldValue, name);
-		}
-	}
-
-	// The View's model--the root of our Model graph for this particular GUI.
-	//
-	// Typically each View class has a corresponding ViewModel class.
-	// The ViewModel is responsible for getting the objects to edit from the
-	// data access tier. Since this snippet doesn't have any persistent objects
-	// ro retrieve, this ViewModel just instantiates a model object to edit.
-	static class ViewModel {
-		// The model to bind
-		private List people = new LinkedList();
-		{
-			people.add(new Person("Steve Northover"));
-			people.add(new Person("Grant Gayed"));
-			people.add(new Person("Veronika Irvine"));
-			people.add(new Person("Mike Wilson"));
-			people.add(new Person("Christophe Cornu"));
-			people.add(new Person("Lynne Kues"));
-			people.add(new Person("Silenio Quarti"));
-		}
-
-		public List getPeople() {
-			return people;
-		}
-	}
-
-	/**
-	 * Editing support that uses JFace Data Binding to control the editing
-	 * lifecycle. The standard EditingSupport get/setValue(...) lifecycle is not
-	 * used.
-	 * 
-	 * @since 3.3
-	 */
-	static class InlineEditingSupport extends EditingSupport {
-		private TextCellEditor editor;
-
-		private DataBindingContext bindingContext;
-		/**
-		 * The current binding.
-		 */
-		private Binding binding;
-
-		private final ColumnViewerEditorActivationListenerHelper activationListener = new ColumnViewerEditorActivationListenerHelper();
-
-		/**
-		 * @param viewer
-		 */
-		public InlineEditingSupport(ColumnViewer viewer,
-				DataBindingContext bindingContext) {
-			super(viewer);
-			this.editor = new TextCellEditor((Composite) viewer.getControl());
-			this.bindingContext = bindingContext;
-		}
-
-		protected boolean canEdit(Object element) {
-			return true;
-		}
-
-		protected CellEditor getCellEditor(Object element) {
-			return editor;
-		}
-
-		protected Object getValue(Object element) {
-			// Not needed
-			return null;
-		}
-
-		protected void setValue(Object element, Object value) {
-			// Not Needed
-		}
-
-		protected void initializeCellEditorValue(CellEditor cellEditor,
-				ViewerCell cell) {
-			Object modelElement = cell.getElement();
-			IObservableValue observableValue = BeansObservables.observeValue(
-					modelElement, "name");
-
-			/*
-			 * Creates a binding between the cell editor and the model that only
-			 * updates the model when the current edit is saved.
-			 */
-			binding = bindingContext
-					.bindValue(SWTObservables.observeText(cellEditor
-							.getControl(), SWT.Modify), observableValue,
-							new UpdateValueStrategy(
-									UpdateValueStrategy.POLICY_CONVERT), null);
-
-			getViewer().getColumnViewerEditor().addEditorActivationListener(
-					activationListener);
-		}
-
-		protected void saveCellEditorValue(CellEditor cellEditor,
-				ViewerCell cell) {
-			binding.updateTargetToModel();
-		}
-
-		private class ColumnViewerEditorActivationListenerHelper extends
-				ColumnViewerEditorActivationListener {
-
-			public void afterEditorActivated(
-					ColumnViewerEditorActivationEvent event) {
-				// do nothing
-			}
-
-			public void afterEditorDeactivated(
-					ColumnViewerEditorDeactivationEvent event) {
-				binding.dispose();
-				binding = null;
-			}
-
-			public void beforeEditorActivated(
-					ColumnViewerEditorActivationEvent event) {
-				// do nothing
-			}
-
-			public void beforeEditorDeactivated(
-					ColumnViewerEditorDeactivationEvent event) {
-				// do nothing
-			}
-		}
-	}
-
-	// The GUI view
-	static class View {
-		private ViewModel viewModel;
-		private Table committers;
-		private Label selectedCommitter;
-
-		public View(ViewModel viewModel) {
-			this.viewModel = viewModel;
-		}
-
-		public Shell createShell() {
-			// Build a UI
-			Display display = Display.getDefault();
-			Shell shell = new Shell(display);
-			shell.setLayout(new FillLayout(SWT.VERTICAL));
-			committers = new Table(shell, SWT.BORDER | SWT.FULL_SELECTION);
-			committers.setLinesVisible(true);
-
-			selectedCommitter = new Label(shell, SWT.NONE);
-			// Set up data binding. In an RCP application, the threading
-			// Realm
-			// will be set for you automatically by the Workbench. In an SWT
-			// application, you can do this once, wrpping your binding
-			// method call.
-			DataBindingContext bindingContext = new DataBindingContext();
-			bindGUI(bindingContext);
-
-			// Open and return the Shell
-			shell.setSize(100, 300);
-			shell.open();
-			return shell;
-		}
-
-		protected void bindGUI(DataBindingContext bindingContext) {
-			// Since we're using a JFace Viewer, we do first wrap our Table...
-			TableViewer peopleViewer = new TableViewer(committers);
-			TableViewerColumn column = new TableViewerColumn(peopleViewer,
-					SWT.NONE);
-			column.setEditingSupport(new InlineEditingSupport(peopleViewer,
-					bindingContext));
-			column.getColumn().setWidth(100);
-
-			// Create a standard content provider
-			ObservableListContentProvider peopleViewerContentProvider = new ObservableListContentProvider();
-			peopleViewer.setContentProvider(peopleViewerContentProvider);
-
-			// And a standard label provider that maps columns
-			IObservableMap[] attributeMaps = BeansObservables.observeMaps(
-					peopleViewerContentProvider.getKnownElements(),
-					Person.class, new String[] { "name" });
-			peopleViewer.setLabelProvider(new ObservableMapLabelProvider(
-					attributeMaps));
-
-			// Now set the Viewer's input
-			peopleViewer.setInput(new WritableList(viewModel.getPeople(),
-					Person.class));
-
-			// bind selectedCommitter label to the name of the current selection
-			IObservableValue selection = ViewersObservables
-					.observeSingleSelection(peopleViewer);
-			bindingContext.bindValue(SWTObservables
-					.observeText(selectedCommitter), BeansObservables
-					.observeDetailValue(Realm.getDefault(), selection, "name",
-							String.class), null, null);
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet0xffffffff.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet0xffffffff.java
deleted file mode 100644
index 8b44163..0000000
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet0xffffffff.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 The Pampered Chef, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     The Pampered Chef, Inc. - initial API and implementation
- *     Brad Reynolds - bug 116920
- ******************************************************************************/
-
-package org.eclipse.jface.examples.databinding.snippets;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeSupport;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Snippet -1.
- * 
- * Hello, no databinding. Bind changes in a GUI to a Model object but don't
- * worry about propogating changes from the Model to the GUI -- using *manual*
- * code. (0xffffffff is -1 in 32-bit two's complement binary arithmatic)
- */
-public class Snippet0xffffffff {
-	public static void main(String[] args) {
-		ViewModel viewModel = new ViewModel();
-		Shell shell = new View(viewModel).createShell();
-
-		// The SWT event loop
-		Display display = Display.getCurrent();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) {
-				display.sleep();
-			}
-		}
-
-		// Print the results
-		System.out.println("person.getName() = "
-				+ viewModel.getPerson().getName());
-	}
-
-	// Minimal JavaBeans support
-	public static abstract class AbstractModelObject {
-		private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(
-				this);
-
-		public void addPropertyChangeListener(PropertyChangeListener listener) {
-			propertyChangeSupport.addPropertyChangeListener(listener);
-		}
-
-		public void addPropertyChangeListener(String propertyName,
-				PropertyChangeListener listener) {
-			propertyChangeSupport.addPropertyChangeListener(propertyName,
-					listener);
-		}
-
-		public void removePropertyChangeListener(PropertyChangeListener listener) {
-			propertyChangeSupport.removePropertyChangeListener(listener);
-		}
-
-		public void removePropertyChangeListener(String propertyName,
-				PropertyChangeListener listener) {
-			propertyChangeSupport.removePropertyChangeListener(propertyName,
-					listener);
-		}
-
-		protected void firePropertyChange(String propertyName, Object oldValue,
-				Object newValue) {
-			propertyChangeSupport.firePropertyChange(propertyName, oldValue,
-					newValue);
-		}
-	}
-
-	// The data model class. This is normally a persistent class of some sort.
-	// 
-	// In this example, we only push changes from the GUI to the model, so we
-	// don't worry about implementing JavaBeans bound properties. If we need
-	// our GUI to automatically reflect changes in the Person object, the
-	// Person object would need to implement the JavaBeans property change
-	// listener methods.
-	static class Person extends AbstractModelObject {
-		// A property...
-		String name = "John Smith";
-
-		public String getName() {
-			return name;
-		}
-
-		public void setName(String name) {
-			this.name = name;
-		}
-
-	}
-
-	// The View's model--the root of our Model graph for this particular GUI.
-	//
-	// Typically each View class has a corresponding ViewModel class.
-	//
-	// The ViewModel is responsible for getting the objects to edit from the
-	// data access tier. Since this snippet doesn't have any persistent objects
-	// to
-	// retrieve, this ViewModel just instantiates a model object to edit.
-	static class ViewModel {
-		// The model to bind
-		private Person person = new Person();
-
-		public Person getPerson() {
-			return person;
-		}
-	}
-
-	// The GUI view
-	static class View {
-		private ViewModel viewModel;
-
-		public View(ViewModel viewModel) {
-			this.viewModel = viewModel;
-		}
-
-		public Shell createShell() {
-			// Build a UI
-			final Display display = Display.getCurrent();
-			Shell shell = new Shell(display);
-			shell.setLayout(new RowLayout(SWT.VERTICAL));
-
-			final Text name = new Text(shell, SWT.BORDER);
-			
-			// Bind it (manually)
-			name.setText(viewModel.getPerson().getName());
-			name.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					final String text = name.getText();
-					// validation
-					// conversion
-					viewModel.getPerson().setName(text);
-				}
-			});
-			viewModel.person.addPropertyChangeListener("name",
-					new PropertyChangeListener() {
-						public void propertyChange(PropertyChangeEvent evt) {
-							display.asyncExec(new Runnable() {
-								public void run() {
-									final String newName = viewModel.person.getName();
-									// conversion
-									name.setText(newName);
-								}
-							});
-						}
-					});
-
-			// Open and return the Shell
-			shell.pack();
-			shell.open();
-			return shell;
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/.classpath b/examples/org.eclipse.jface.snippets/.classpath
deleted file mode 100644
index e60736f..0000000
--- a/examples/org.eclipse.jface.snippets/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="Eclipse JFace Snippets"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.jface.snippets/.project b/examples/org.eclipse.jface.snippets/.project
deleted file mode 100644
index 5d39725..0000000
--- a/examples/org.eclipse.jface.snippets/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jface.snippets</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/examples/org.eclipse.jface.snippets/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.jface.snippets/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 6c26f15..0000000
--- a/examples/org.eclipse.jface.snippets/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Mon Oct 16 20:55:38 GMT 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/dialogs/Snippet012DialogWithImageButtons.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/dialogs/Snippet012DialogWithImageButtons.java
deleted file mode 100644
index 9ac305d..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/dialogs/Snippet012DialogWithImageButtons.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.snippets.dialogs;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A snippet to demonstrate a dialog with image buttons.
- *
- */
-public class Snippet012DialogWithImageButtons {
-	private ImageRegistry registry;
-	
-	public Snippet012DialogWithImageButtons(final Shell shell) {
-		
-		Dialog dia = new Dialog(shell) {
-			private ImageDescriptor getImageDescriptor(String path) {
-				if( registry == null ) {
-					registry = new ImageRegistry(shell.getDisplay());
-				}
-				
-				ImageDescriptor desc = registry.getDescriptor(path);
-				if( desc == null ) {
-					desc = ImageDescriptor.createFromFile(Snippet012DialogWithImageButtons.class, path);
-					registry.put(path, desc);
-				}
-				
-				return desc;
-			}
-			
-			protected Button createButton(Composite parent, int id, String label, boolean defaultButton) {
-				Button b = super.createButton(parent, id, label, defaultButton);
-				if( id == IDialogConstants.OK_ID ) {
-					b.setImage(getImageDescriptor("filesave.png").createImage()); //$NON-NLS-1$
-					// reset the button layout
-					setButtonLayoutData(b);
-				} else {
-					b.setImage(getImageDescriptor("cancel.png").createImage()); //$NON-NLS-1$
-					// reset the button layout
-					setButtonLayoutData(b);
-					return b;
-				}
-				
-				return b;
-			}
-		};
-		dia.open();
-	}
-	
-	public static void main(String[] args) {
-		Display display = new Display ();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		
-		shell.open ();
-		
-		new Snippet012DialogWithImageButtons(shell);
-		
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		
-		display.dispose ();
-	}
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/dialogs/cancel.png b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/dialogs/cancel.png
deleted file mode 100644
index 1cabc6e..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/dialogs/cancel.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/dialogs/filesave.png b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/dialogs/filesave.png
deleted file mode 100644
index 41b3f43..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/dialogs/filesave.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/layout/Snippet013GridLayoutFactory.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/layout/Snippet013GridLayoutFactory.java
deleted file mode 100644
index 1418107..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/layout/Snippet013GridLayoutFactory.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jface.snippets.layout;
-
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.jface.layout.LayoutConstants;
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-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.Label;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * @since 3.3
- */
-public class Snippet013GridLayoutFactory {
-
-	public static Shell createShell1() {
-		Shell shell = new Shell(Display.getCurrent(), SWT.SHELL_TRIM);
-		{ // Populate the shell
-			Label text = new Label(shell, SWT.WRAP);
-			text
-					.setText("This is a layout test. This text should wrap in the test. You could call it a text test.");
-			GridDataFactory.generate(text, 2, 1);
-
-			List theList = new List(shell, SWT.H_SCROLL | SWT.V_SCROLL
-					| SWT.BORDER);
-
-			theList.add("Hello");
-			theList.add("World");
-			GridDataFactory.defaultsFor(theList).hint(300, 300)
-					.applyTo(theList);
-
-			Composite buttonBar = new Composite(shell, SWT.NONE);
-			{ // Populate buttonBar
-				Button add = new Button(buttonBar, SWT.PUSH);
-				add.setText("Add");
-				Button remove = new Button(buttonBar, SWT.PUSH);
-				remove.setText("Remove");
-			}
-			GridLayoutFactory.fillDefaults().generateLayout(buttonBar);
-		}
-		GridLayoutFactory.fillDefaults().numColumns(2).margins(
-				LayoutConstants.getMargins()).generateLayout(shell);
-
-		return shell;
-	}
-
-	public static Shell createShell3() {
-		Shell shell = new Shell(Display.getCurrent(), SWT.SHELL_TRIM);
-		{ // Populate the shell
-
-			Text text = new Text(shell, SWT.WRAP | SWT.BORDER);
-			text
-					.setText("This shell has asymmetric margins. The left, right, top, and bottom margins should be 0, 10, 40, and 80 pixels respectively");
-
-			Rectangle margins = Geometry.createDiffRectangle(0, 10, 40, 80);
-
-			GridLayoutFactory.fillDefaults().extendedMargins(margins)
-					.generateLayout(shell);
-
-		}
-
-		return shell;
-	}
-
-	public static Shell createShell2() {
-		Shell shell = new Shell(Display.getCurrent(), SWT.SHELL_TRIM);
-		{ // Populate the shell
-
-			Label text = new Label(shell, SWT.NONE);
-			text.setText("Name:");
-			new Text(shell, SWT.BORDER);
-
-			Label quest = new Label(shell, SWT.NONE);
-			quest.setText("Quest:");
-			CCombo combo = new CCombo(shell, SWT.BORDER);
-			combo.add("I seek the holy grail");
-			combo.add("What? I don't know that");
-			combo.add("All your base are belong to us");
-
-			Label colour = new Label(shell, SWT.NONE);
-			colour.setText("Color:");
-			new Text(shell, SWT.BORDER);
-
-			Composite buttonBar = new Composite(shell, SWT.NONE);
-			{ // Populate buttonBar
-				Button add = new Button(buttonBar, SWT.PUSH);
-				add.setText("Okay");
-				Button remove = new Button(buttonBar, SWT.PUSH);
-				remove.setText("Cancel");
-
-				GridLayoutFactory.fillDefaults().numColumns(2).generateLayout(
-						buttonBar);
-			}
-			GridDataFactory.fillDefaults().span(2, 1).align(SWT.RIGHT,
-					SWT.BOTTOM).applyTo(buttonBar);
-
-			GridLayoutFactory.fillDefaults().numColumns(2).margins(
-					LayoutConstants.getMargins()).generateLayout(shell);
-		}
-
-		return shell;
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-
-		Shell shell = createShell1();
-		shell.pack();
-		shell.open();
-
-		Shell shell2 = createShell2();
-		shell2.pack();
-		shell2.open();
-
-		Shell shell3 = createShell3();
-		shell3.pack();
-		shell3.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/layout/Snippet016TableLayout.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/layout/Snippet016TableLayout.java
deleted file mode 100755
index a03aa05..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/layout/Snippet016TableLayout.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.layout;
-
-
-import org.eclipse.jface.layout.TableColumnLayout;
-import org.eclipse.jface.viewers.ColumnWeightData;
-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.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-
-/**
- * A simple TableViewer to demonstrate usage
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * @since 3.3M3
- */
-public class Snippet016TableLayout {
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return (MyModel[]) inputElement;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-
-		}
-
-		/*
-		 * (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) {
-
-		}
-
-	}
-
-	private class MyLabelProvider extends LabelProvider implements
-			ITableLabelProvider {
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			return columnIndex + " - " + element;
-		}
-
-	}
-
-	public class MyModel {
-		public int counter;
-
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-
-	public Snippet016TableLayout(Composite comp) {
-		final TableViewer v = new TableViewer(new Table(comp, SWT.BORDER));
-		v.setLabelProvider(new MyLabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		v.getTable().setHeaderVisible(true);
-
-		TableColumnLayout ad = new TableColumnLayout();
-		comp.setLayout(ad);
-		
-		TableColumn column = new TableColumn(v.getTable(), SWT.NONE);
-		column.setText("Column 1");
-		column.setMoveable(true);
-		ad.setColumnData(column, new ColumnWeightData(90, 290));
-
-		column = new TableColumn(v.getTable(), SWT.NONE);
-		column.setText("Column 2");
-		column.setMoveable(true);
-		ad.setColumnData(column, new ColumnWeightData(10, 200));
-
-		MyModel[] model = createModel();
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-	}
-
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[10];
-
-		for (int i = 0; i < 10; i++) {
-			elements[i] = new MyModel(i);
-		}
-
-		return elements;
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		//shell.setSize(400, 150);
-		shell.setLayout(new FillLayout());
-		
-		new Snippet016TableLayout(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/layout/Snippet027TreeLayout.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/layout/Snippet027TreeLayout.java
deleted file mode 100644
index 3b0558d..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/layout/Snippet027TreeLayout.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.layout;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.layout.TableColumnLayout;
-import org.eclipse.jface.layout.TreeColumnLayout;
-import org.eclipse.jface.resource.FontRegistry;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ITableColorProvider;
-import org.eclipse.jface.viewers.ITableFontProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TreeColumn;
-
-/**
- * A simple TreeViewer to demonstrate usage
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
- */
-public class Snippet027TreeLayout {
-	private class MyContentProvider implements ITreeContentProvider {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return ((MyModel) inputElement).child.toArray();
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-
-		}
-
-		/*
-		 * (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) {
-
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-		 */
-		public Object[] getChildren(Object parentElement) {
-			return getElements(parentElement);
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
-		 */
-		public Object getParent(Object element) {
-			if (element == null) {
-				return null;
-			}
-
-			return ((MyModel) element).parent;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-		 */
-		public boolean hasChildren(Object element) {
-			return ((MyModel) element).child.size() > 0;
-		}
-
-	}
-
-	public class MyModel {
-		public MyModel parent;
-
-		public ArrayList child = new ArrayList();
-
-		public int counter;
-
-		public MyModel(int counter, MyModel parent) {
-			this.parent = parent;
-			this.counter = counter;
-		}
-
-		public String toString() {
-			String rv = "Item ";
-			if (parent != null) {
-				rv = parent.toString() + ".";
-			}
-
-			rv += counter;
-
-			return rv;
-		}
-	}
-
-	public class MyLabelProvider extends LabelProvider implements
-			ITableLabelProvider, ITableFontProvider, ITableColorProvider {
-		FontRegistry registry = new FontRegistry();
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			return "Column " + columnIndex + " => " + element.toString();
-		}
-
-		public Font getFont(Object element, int columnIndex) {
-			if (((MyModel) element).counter % 2 == 0) {
-				return registry.getBold(Display.getCurrent().getSystemFont()
-						.getFontData()[0].getName());
-			}
-			return null;
-		}
-
-		public Color getBackground(Object element, int columnIndex) {
-			if (((MyModel) element).counter % 2 == 0) {
-				return Display.getCurrent().getSystemColor(SWT.COLOR_RED);
-			}
-			return null;
-		}
-
-		public Color getForeground(Object element, int columnIndex) {
-			if (((MyModel) element).counter % 2 == 1) {
-				return Display.getCurrent().getSystemColor(SWT.COLOR_RED);
-			}
-			return null;
-		}
-
-	}
-
-	public Snippet027TreeLayout(Shell shell) {
-		final TreeViewer v = new TreeViewer(shell);
-		v.getTree().setHeaderVisible(true);
-		v.getTree().setLinesVisible(true);
-		
-		TreeColumnLayout ad = new TreeColumnLayout();
-		shell.setLayout(ad);
-		
-		TreeColumn column = new TreeColumn(v.getTree(),SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 1");
-		ad.setColumnData(column, new ColumnWeightData(50, 100));
-		
-		column = new TreeColumn(v.getTree(),SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 2");
-		ad.setColumnData(column,new ColumnWeightData(50, 100));
-		
-
-		
-		v.setLabelProvider(new MyLabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		v.setInput(createModel());
-	}
-
-	private MyModel createModel() {
-
-		MyModel root = new MyModel(0, null);
-		root.counter = 0;
-
-		MyModel tmp;
-		for (int i = 1; i < 10; i++) {
-			tmp = new MyModel(i, root);
-			root.child.add(tmp);
-			for (int j = 1; j < i; j++) {
-				tmp.child.add(new MyModel(j, tmp));
-			}
-		}
-
-		return root;
-	}
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet027TreeLayout(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/AbstractCellCursor.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/AbstractCellCursor.java
deleted file mode 100644
index 343a626..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/AbstractCellCursor.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.ColumnViewer;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.ViewerCell;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-
-/**
- * @since 3.3
- *
- */
-public abstract class AbstractCellCursor extends Canvas {
-	private ViewerCell[] cells = new ViewerCell[0];
-	
-	private ColumnViewer viewer;
-	
-	private int activationTime = 0;
-	
-	private boolean inFocusRequest = false;
-	
-	/**
-	 * @param viewer
-	 * @param style
-	 */
-	public AbstractCellCursor(ColumnViewer viewer, int style) {
-		super((Composite) viewer.getControl(),style);
-		this.viewer = viewer;
-		
-		Listener l = new Listener() {
-
-			public void handleEvent(Event event) {
-				switch (event.type) {
-				case SWT.Paint:
-					paint(event);
-					break;
-				case SWT.KeyDown:
-					getParent().notifyListeners(SWT.KeyDown, event);
-					ArrayList list = new ArrayList();
-					for( int i = 0; i < cells.length; i++ ) {
-						list.add(cells[i].getElement());
-					}
-					AbstractCellCursor.this.viewer.setSelection(new StructuredSelection(list));
-					
-					break;
-				case SWT.MouseDown:
-					if( event.time < activationTime ) {
-						Event cEvent = copyEvent(event);
-						cEvent.type = SWT.MouseDoubleClick;
-						getParent().notifyListeners(SWT.MouseDoubleClick, cEvent);
-					} else {
-						getParent().notifyListeners(SWT.MouseDown, copyEvent(event));
-					}
-					break;
-				case SWT.MouseDoubleClick:
-					getParent().notifyListeners(SWT.MouseDoubleClick, copyEvent(event));
-					break;
-				case SWT.FocusIn:
-					if( isVisible() ) {
-						inFocusRequest = true;
-						if( ! inFocusRequest ) {
-							forceFocus();
-						}
-						inFocusRequest = false;
-					}
-				default:
-					break;
-				}
-			}
-		};
-		
-		addListener(SWT.Paint, l);
-		addListener(SWT.KeyDown, l);
-		addListener(SWT.MouseDown, l);
-		addListener(SWT.MouseDoubleClick, l);
-		getParent().addListener(SWT.FocusIn,l);
-	}
-	
-	/**
-	 * @param cell
-	 * @param eventTime 
-	 */
-	public void setSelection(ViewerCell cell, int eventTime) {
-		this.cells = new ViewerCell[] { cell };
-		setBounds(cell.getBounds());
-		forceFocus();
-		redraw();
-		activationTime = eventTime + getDisplay().getDoubleClickTime();
-	}
-	
-	/**
-	 * @return the cells who should be highlighted
-	 */
-	protected ViewerCell[] getSelectedCells() {
-		return cells;
-	}
-	
-	private Event copyEvent(Event event) {
-		Event cEvent = new Event();
-		cEvent.button = event.button;
-		cEvent.character = event.character;
-		cEvent.count = event.count;
-		cEvent.data = event.data;
-		cEvent.detail = event.detail;
-		cEvent.display = event.display;
-		cEvent.doit = event.doit;
-		cEvent.end = event.end;
-		cEvent.gc = event.gc;
-		cEvent.height = event.height;
-		cEvent.index = event.index;
-		cEvent.item = getSelectedCells()[0].getControl();
-		cEvent.keyCode = event.keyCode;
-		cEvent.start = event.start;
-		cEvent.stateMask = event.stateMask;
-		cEvent.text = event.text;
-		cEvent.time = event.time;
-		cEvent.type = event.type;
-		cEvent.widget = event.widget;
-		cEvent.width = event.width;
-		Point p = viewer.getControl().toControl(toDisplay(event.x, event.y));
-		cEvent.x = p.x;
-		cEvent.y = p.y;
-		
-		return cEvent;
-	}
-	
-	/**
-	 * @param event
-	 */
-	protected abstract void paint(Event event);
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/CursorCellHighlighter.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/CursorCellHighlighter.java
deleted file mode 100644
index 49395bf..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/CursorCellHighlighter.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.viewers.ColumnViewer;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationListener;
-import org.eclipse.jface.viewers.ColumnViewerEditorDeactivationEvent;
-import org.eclipse.jface.viewers.FocusCellHighlighter;
-import org.eclipse.jface.viewers.ViewerCell;
-
-
-
-/**
- * @since 3.3
- * 
- */
-public class CursorCellHighlighter extends FocusCellHighlighter {
-	private ColumnViewer viewer;
-
-	private AbstractCellCursor cursor;
-
-	/**
-	 * @param viewer
-	 * @param cursor
-	 */
-	public CursorCellHighlighter(ColumnViewer viewer,
-			AbstractCellCursor cursor) {
-		super(viewer);
-		this.viewer = viewer;
-		this.cursor = cursor;
-	}
-
-	protected void focusCellChanged(ViewerCell cell) {
-		super.focusCellChanged(cell);
-		if( ! viewer.isCellEditorActive() ) {
-			System.err.println("SHOW EDITOR"); //$NON-NLS-1$
-			cursor.setSelection(cell, 0); //TODO THE TIME
-			cursor.setVisible(true);
-		}
-	}
-	
-	protected void init() {
-		hookListener();
-	}
-
-	private void hookListener() {
-		ColumnViewerEditorActivationListener listener = new ColumnViewerEditorActivationListener() {
-
-			public void afterEditorActivated(
-					ColumnViewerEditorActivationEvent event) {
-				
-			}
-
-			public void afterEditorDeactivated(
-					ColumnViewerEditorDeactivationEvent event) {
-				cursor.setVisible(true);
-				cursor.setSelection(getFocusCell(), 0); //TODO THE TIME
-			}
-
-			public void beforeEditorActivated(
-					ColumnViewerEditorActivationEvent event) {
-				cursor.setVisible(false);
-			}
-
-			public void beforeEditorDeactivated(
-					ColumnViewerEditorDeactivationEvent event) {
-				
-			}
-		};
-		
-		viewer.getColumnViewerEditor().addEditorActivationListener(listener);
-	}
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/FocusBorderCellHighlighter.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/FocusBorderCellHighlighter.java
deleted file mode 100644
index 0725c4b..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/FocusBorderCellHighlighter.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.viewers.ColumnViewer;
-import org.eclipse.jface.viewers.FocusCellHighlighter;
-import org.eclipse.jface.viewers.ViewerCell;
-import org.eclipse.jface.viewers.ViewerRow;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-
-public class FocusBorderCellHighlighter extends FocusCellHighlighter {
-	private ViewerCell oldCell;
-
-	/**
-	 * @param viewer
-	 *            the viewer
-	 */
-	public FocusBorderCellHighlighter(ColumnViewer viewer) {
-		super(viewer);
-		hookListener(viewer);
-	}
-
-	private void markFocusedCell(Event event, ViewerCell cell) {
-		GC gc = event.gc;
-
-		Rectangle rect = event.getBounds();
-		gc.drawFocus(rect.x, rect.y, rect.width, rect.height);
-
-		event.detail &= ~SWT.SELECTED;
-	}
-
-	private void removeSelectionInformation(Event event, ViewerCell cell) {
-
-	}
-
-	private void hookListener(final ColumnViewer viewer) {
-
-		Listener listener = new Listener() {
-
-			public void handleEvent(Event event) {
-				if ((event.detail & SWT.SELECTED) > 0) {
-					ViewerCell focusCell = getFocusCell();
-					ViewerRow row = focusCell.getViewerRow();
-
-					Assert
-							.isNotNull(row,
-									"Internal structure invalid. Item without associated row is not possible."); //$NON-NLS-1$
-
-					ViewerCell cell = row.getCell(event.index);
-
-					if (focusCell == null || !cell.equals(focusCell)) {
-						removeSelectionInformation(event, cell);
-					} else {
-						markFocusedCell(event, cell);
-					}
-				}
-			}
-
-		};
-		viewer.getControl().addListener(SWT.EraseItem, listener);
-	}
-
-	/**
-	 * @param cell
-	 *            the cell which is colored
-	 * @return the color
-	 */
-	protected Color getSelectedCellBackgroundColor(ViewerCell cell) {
-		return null;
-	}
-
-	/**
-	 * @param cell
-	 *            the cell which is colored
-	 * @return the color
-	 */
-	protected Color getSelectedCellForegroundColor(ViewerCell cell) {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.FocusCellHighlighter#focusCellChanged(org.eclipse.jface.viewers.ViewerCell)
-	 */
-	protected void focusCellChanged(ViewerCell cell) {
-		super.focusCellChanged(cell);
-
-		// Redraw new area
-		if (cell != null) {
-			Rectangle rect = cell.getBounds();
-			int x = cell.getColumnIndex() == 0 ? 0 : rect.x;
-			int width = cell.getColumnIndex() == 0 ? rect.x + rect.width
-					: rect.width;
-			cell.getControl().redraw(x, rect.y, width, rect.height, true);
-		}
-
-		if (oldCell != null) {
-			Rectangle rect = oldCell.getBounds();
-			int x = oldCell.getColumnIndex() == 0 ? 0 : rect.x;
-			int width = oldCell.getColumnIndex() == 0 ? rect.x + rect.width
-					: rect.width;
-			oldCell.getControl().redraw(x, rect.y, width, rect.height, true);
-		}
-
-		this.oldCell = cell;
-	}
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet001TableViewer.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet001TableViewer.java
deleted file mode 100644
index 017b19a..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet001TableViewer.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A simple TableViewer to demonstrate usage
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- *
- */
-public class Snippet001TableViewer {
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return (MyModel[])inputElement;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-			
-		}
-
-		/* (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) {
-			
-		}
-		
-	}
-	
-	public class MyModel {
-		public int counter;
-		
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-		
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-	
-	public Snippet001TableViewer(Shell shell) {
-		final TableViewer v = new TableViewer(shell);
-		v.setLabelProvider(new LabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		MyModel[] model = createModel();
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-	}
-	
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[10];
-		
-		for( int i = 0; i < 10; i++ ) {
-			elements[i] = new MyModel(i);
-		}
-		
-		return elements;
-	}
-	
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display ();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet001TableViewer(shell);
-		shell.open ();
-		
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		
-		display.dispose ();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet002TreeViewer.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet002TreeViewer.java
deleted file mode 100644
index 68c6fcf..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet002TreeViewer.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A simple TreeViewer to demonstrate usage
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- *
- */
-public class Snippet002TreeViewer {
-	private class MyContentProvider implements ITreeContentProvider {
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return ((MyModel)inputElement).child.toArray();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-			
-		}
-
-		/* (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) {
-			
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-		 */
-		public Object[] getChildren(Object parentElement) {
-			return getElements(parentElement);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
-		 */
-		public Object getParent(Object element) {
-			if( element == null) {
-				return null;
-			}
-			
-			return ((MyModel)element).parent;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-		 */
-		public boolean hasChildren(Object element) {
-			return ((MyModel)element).child.size() > 0;
-		}
-		
-	}
-	
-	public class MyModel {
-		public MyModel parent;
-		public ArrayList child = new ArrayList();
-		public int counter;
-		
-		public MyModel(int counter, MyModel parent) {
-			this.parent = parent;
-			this.counter = counter;
-		}
-		
-		public String toString() {
-			String rv = "Item ";
-			if( parent != null ) {
-				rv = parent.toString() + ".";
-			}
-			
-			rv += counter;
-			
-			return rv;
-		}
-	}
-	
-	public Snippet002TreeViewer(Shell shell) {
-		final TreeViewer v = new TreeViewer(shell);
-		v.setLabelProvider(new LabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		v.setInput(createModel());
-	}
-	
-	private MyModel createModel() {
-		
-		MyModel root = new MyModel(0,null);
-		root.counter = 0;
-		
-		MyModel tmp;
-		for( int i = 1; i < 10; i++ ) {
-			tmp = new MyModel(i, root);
-			root.child.add(tmp);
-			for( int j = 1; j < i; j++ ) {
-				tmp.child.add(new MyModel(j,tmp));
-			}
-		}
-		
-		return root;
-	}
-	
-	public static void main(String[] args) {
-		Display display = new Display ();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet002TreeViewer(shell);
-		shell.open ();
-		
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		
-		display.dispose ();
-	}
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet003TableLabelProvider.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet003TableLabelProvider.java
deleted file mode 100644
index 4dbd122..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet003TableLabelProvider.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-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.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-
-/**
- * Example usage of ITableLabelProvider using images and labels
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- *
- */
-public class Snippet003TableLabelProvider {
-	private static Image[] images;
-	
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return (MyModel[])inputElement;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-			
-		}
-
-		/* (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) {
-			
-		}
-		
-	}
-	
-	public class MyModel {
-		public int counter;
-		
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-		
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-	
-	public class MyLabelProvider extends LabelProvider implements ITableLabelProvider {
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			if( columnIndex == 1 ) {
-				return images[((MyModel)element).counter%4];
-			}
-			
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			return "Column " + columnIndex + " => " + element.toString();
-		}
-		
-	}
-	
-	private static Image createImage(Display display, int red, int green, int blue) {
-		Color color = new Color(display,red,green,blue);
-		Image image = new Image(display,10,10);
-		GC gc = new GC(image);
-		gc.setBackground(color);
-		gc.fillRectangle(0, 0, 10, 10);
-		gc.dispose();
-		
-		return image;
-	}
-	
-	public Snippet003TableLabelProvider(Shell shell) {
-		final TableViewer v = new TableViewer(shell,SWT.BORDER|SWT.FULL_SELECTION);
-		v.setLabelProvider(new MyLabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		
-		TableColumn column = new TableColumn(v.getTable(),SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 1");
-		
-		column = new TableColumn(v.getTable(),SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 2");
-		
-		MyModel[] model = createModel();
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-		v.getTable().setHeaderVisible(true);
-	}
-	
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[10];
-		
-		for( int i = 0; i < 10; i++ ) {
-			elements[i] = new MyModel(i);
-		}
-		
-		return elements;
-	}
-	
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display ();
-		
-		images = new Image[4];
-		images[0] = createImage(display,0,0,255);
-		images[1] = createImage(display,0,255,255);
-		images[2] = createImage(display,0,255,0);
-		images[3] = createImage(display,255,0,255);
-		
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet003TableLabelProvider(shell);
-		shell.open ();
-		
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		
-		for( int i = 0; i < images.length; i++ ) {
-			images[i].dispose();
-		}
-		
-		display.dispose ();
-		
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet004HideSelection.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet004HideSelection.java
deleted file mode 100644
index cfd639b..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet004HideSelection.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Snippet that hides the selection when nothing is selected.
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- *
- */
-public class Snippet004HideSelection {
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return (MyModel[])inputElement;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-			
-		}
-
-		/* (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) {
-			
-		}
-	}
-	
-	public class MyModel {
-		public int counter;
-		
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-		
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-	
-	public Snippet004HideSelection(Shell shell) {
-		final TableViewer v = new TableViewer(shell,SWT.BORDER|SWT.FULL_SELECTION);
-		v.setLabelProvider(new LabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		MyModel[] model = createModel();
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-		v.getTable().addMouseListener(new MouseAdapter() {
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.swt.events.MouseAdapter#mouseDown(org.eclipse.swt.events.MouseEvent)
-			 */
-			public void mouseDown(MouseEvent e) {
-				if( v.getTable().getItem(new Point(e.x,e.y)) == null ) {
-					v.setSelection(new StructuredSelection());
-				}
-			}
-			
-		});
-	}
-	
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[10];
-		
-		for( int i = 0; i < 10; i++ ) {
-			elements[i] = new MyModel(i);
-		}
-		
-		return elements;
-	}
-	
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display ();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet004HideSelection(shell);
-		shell.open ();
-		
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		
-		display.dispose ();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet005TreeCustomMenu.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet005TreeCustomMenu.java
deleted file mode 100644
index 46fd640..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet005TreeCustomMenu.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import java.util.ArrayList;
-
-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.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Customized context menu based on TreeItem-Selection
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- *
- */
-public class Snippet005TreeCustomMenu {
-	private class MyContentProvider implements ITreeContentProvider {
-
-		public Object[] getElements(Object inputElement) {
-			return ((MyModel) inputElement).child.toArray();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-
-		}
-
-		/* (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) {
-
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-		 */
-		public Object[] getChildren(Object parentElement) {
-			return getElements(parentElement);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
-		 */
-		public Object getParent(Object element) {
-			if (element == null) {
-				return null;
-			}
-
-			return ((MyModel) element).parent;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-		 */
-		public boolean hasChildren(Object element) {
-			return ((MyModel) element).child.size() > 0;
-		}
-
-	}
-
-	public class MyModel {
-		public MyModel parent;
-
-		public ArrayList child = new ArrayList();
-
-		public int counter;
-
-		public MyModel(int counter, MyModel parent) {
-			this.parent = parent;
-			this.counter = counter;
-		}
-
-		public String toString() {
-			String rv = "Item ";
-			if (parent != null) {
-				rv = parent.toString() + ".";
-			}
-
-			rv += counter;
-
-			return rv;
-		}
-	}
-
-	public Snippet005TreeCustomMenu(Shell shell) {
-		final TreeViewer v = new TreeViewer(shell);
-		v.setLabelProvider(new LabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		v.setInput(createModel());
-
-		final Action a = new Action("") {
-		};
-		final MenuManager mgr = new MenuManager();
-		mgr.setRemoveAllWhenShown(true);
-
-		mgr.addMenuListener(new IMenuListener() {
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.action.IMenuListener#menuAboutToShow(org.eclipse.jface.action.IMenuManager)
-			 */
-			public void menuAboutToShow(IMenuManager manager) {
-				IStructuredSelection selection = (IStructuredSelection) v
-						.getSelection();
-				if (!selection.isEmpty()) {
-					a.setText("Action for "
-							+ ((MyModel) selection.getFirstElement())
-									.toString());
-					mgr.add(a);
-				}
-			}
-		});
-		v.getControl().setMenu(mgr.createContextMenu(v.getControl()));
-	}
-
-	private MyModel createModel() {
-
-		MyModel root = new MyModel(0, null);
-		root.counter = 0;
-
-		MyModel tmp;
-		for (int i = 1; i < 10; i++) {
-			tmp = new MyModel(i, root);
-			root.child.add(tmp);
-			for (int j = 1; j < i; j++) {
-				tmp.child.add(new MyModel(j, tmp));
-			}
-		}
-
-		return root;
-	}
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet005TreeCustomMenu(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet006TableMultiLineCells.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet006TableMultiLineCells.java
deleted file mode 100644
index 80c99f6..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet006TableMultiLineCells.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.ColumnPixelData;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.OwnerDrawLabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-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.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-
-public class Snippet006TableMultiLineCells {
-
-	public static void main(String[] args) {
-
-		Display display = new Display();
-		Shell shell = new Shell(display, SWT.CLOSE);
-		shell.setSize(400, 400);
-		shell.setLayout(new GridLayout());
-
-		Snippet006TableMultiLineCells example = new Snippet006TableMultiLineCells();
-		example.createPartControl(shell);
-
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-
-	class LineEntry {
-
-		String line;
-
-		int columnWidth;
-
-		/**
-		 * Create a new instance of the receiver with name text constrained to a
-		 * column of width.
-		 * 
-		 * @param text
-		 * @param width
-		 */
-		LineEntry(String text, int width) {
-			line = text;
-			columnWidth = width;
-		}
-
-		/**
-		 * Get the height of the event.
-		 * 
-		 * @param index
-		 * @return int
-		 */
-		public int getHeight(Event event) {
-			event.gc.setLineWidth(columnWidth);
-			return event.gc.textExtent(line).y;
-
-		}
-
-		/**
-		 * Get the width of the event.
-		 * 
-		 * @param index
-		 * @return
-		 */
-		public int getWidth(Event event) {
-
-			return columnWidth;
-		}
-
-		/**
-		 * Get the font we are using.
-		 * 
-		 * @return Font
-		 */
-		protected Font getFont() {
-			return JFaceResources.getFont(JFaceResources.HEADER_FONT);
-		}
-
-		/**
-		 * @param event
-		 */
-		public void draw(Event event) {
-			event.gc.drawText(line, event.x, event.y);
-
-		}
-	}
-
-	private TableViewer viewer;
-
-	private LineEntry[] entries;
-
-	public Snippet006TableMultiLineCells() {
-		String[] lines = new String[] {
-				"This day is called the feast of Crispian:",
-				"He that outlives this day, \n and comes safe home,",
-				"Will stand a tip-toe when the day is named,",
-				"And rouse him at the name of Crispian.",
-				"He that shall live this day,\n and see old age,",
-				"Will yearly on the vigil feast his neighbours,",
-				"And say 'To-morrow is Saint Crispian:'",
-				"Then will he strip his sleeve and show his scars.",
-				"And say 'These wounds I had on Crispin's day.'",
-				"Old men forget:\n yet all shall be forgot,",
-				"But he'll remember with advantages",
-				"What feats he did that day:\n then shall our names.",
-				"Familiar in his mouth as household words",
-				"Harry the king, Bedford and Exeter,",
-				"Warwick and Talbot,\n Salisbury and Gloucester,",
-				"Be in their flowing cups freshly remember'd.",
-				"This story shall the good man teach his son;",
-				"And Crispin Crispian shall ne'er go by,",
-				"From this day to the ending of the world,",
-				"But we in it shall be remember'd;",
-				"We few,\n we happy few,\n we band of brothers;",
-				"For he to-day that sheds his blood with me",
-				"Shall be my brother;\n be he ne'er so vile,",
-				"This day shall gentle his condition:",
-				"And gentlemen in England now a-bed",
-				"Shall think themselves accursed they were not here,",
-				"And hold their manhoods cheap whiles any speaks",
-				"That fought with us upon Saint Crispin's day." };
-
-		entries = new LineEntry[lines.length];
-		for (int i = 0; i < lines.length; i++) {
-			entries[i] = new LineEntry(lines[i], 35);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		viewer = new TableViewer(parent, SWT.FULL_SELECTION);
-
-		viewer.setContentProvider(new IStructuredContentProvider() {
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-			 */
-			public void dispose() {
-			};
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-			 */
-			public Object[] getElements(Object inputElement) {
-				return entries;
-			};
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
-			 *      java.lang.Object, java.lang.Object)
-			 */
-			public void inputChanged(org.eclipse.jface.viewers.Viewer viewer,
-					Object oldInput, Object newInput) {
-			}
-
-		});
-		createColumns();
-
-		viewer.setLabelProvider(new OwnerDrawLabelProvider() {
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.viewers.OwnerDrawLabelProvider#measure(org.eclipse.swt.widgets.Event, java.lang.Object)
-			 */
-			protected void measure(Event event, Object element) {
-				LineEntry line = (LineEntry) element;
-				Point size = event.gc.textExtent(line.line);
-				event.width = viewer.getTable().getColumn(event.index).getWidth();
-				int lines = size.x / event.width + 1;
-				event.height = size.y * lines;
-
-			}
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.OwnerDrawLabelProvider#paint(org.eclipse.swt.widgets.Event,
-			 *      java.lang.Object)
-			 */
-			protected void paint(Event event, Object element) {
-
-				LineEntry entry = (LineEntry) element;
-				event.gc.drawText(entry.line, event.x, event.y, true);
-			}
-		});
-		viewer.setInput(this);
-
-		GridData data = new GridData(GridData.GRAB_HORIZONTAL
-				| GridData.GRAB_VERTICAL | GridData.FILL_BOTH);
-
-		viewer.getControl().setLayoutData(data);
-		OwnerDrawLabelProvider.setUpOwnerDraw(viewer);
-
-		viewer.setSelection(new StructuredSelection(entries[1]));
-	}
-
-	/**
-	 * Create the columns to be used in the tree.
-	 */
-	private void createColumns() {
-		TableLayout layout = new TableLayout();
-		viewer.getTable().setLayout(layout);
-		viewer.getTable().setHeaderVisible(true);
-		viewer.getTable().setLinesVisible(true);
-
-		TableColumn tc = new TableColumn(viewer.getTable(), SWT.NONE, 0);
-		layout.addColumnData(new ColumnPixelData(350));
-		tc.setText("Lines");
-
-	}
-
-	public void setFocus() {
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet007FullSelection.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet007FullSelection.java
deleted file mode 100644
index 9724fdc..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet007FullSelection.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-
-/**
- * TableViewer: Highlight cell and support editing which requires SWT.FULL_SELECTION
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- *
- */
-public class Snippet007FullSelection {
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return (MyModel[])inputElement;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-			
-		}
-
-		/* (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) {
-			
-		}
-		
-	}
-	
-	public class MyModel {
-		public int counter;
-		
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-		
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-	
-	public Snippet007FullSelection(Shell shell) {
-		final TableViewer v = new TableViewer(shell,SWT.BORDER|SWT.FULL_SELECTION);
-		v.setLabelProvider(new LabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		v.setCellModifier(new ICellModifier() {
-
-			public boolean canModify(Object element, String property) {
-				return ((MyModel)element).counter % 2 == 0;
-			}
-
-			public Object getValue(Object element, String property) {
-				return ((MyModel)element).counter + "";
-			}
-
-			public void modify(Object element, String property, Object value) {
-				TableItem item = (TableItem)element;
-				((MyModel)item.getData()).counter = Integer.parseInt(value.toString());
-				v.update(item.getData(), null);
-			}
-			
-		});
-		v.setColumnProperties(new String[] { "column1", "column2" });
-		v.setCellEditors(new CellEditor[] { new TextCellEditor(v.getTable()),null });
-		
-		TableColumn column = new TableColumn(v.getTable(),SWT.NONE);
-		column.setWidth(100);
-		column.setText("Column 1");
-		
-		column = new TableColumn(v.getTable(),SWT.NONE);
-		column.setWidth(100);
-		column.setText("Column 2");
-		
-		MyModel[] model = createModel();
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-		v.getTable().setHeaderVisible(true);
-		
-		final Rectangle[] selectionBounds = new Rectangle[1];
-		
-		v.getTable().addListener(SWT.MouseDown, new Listener() {
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-			 */
-			public void handleEvent(Event event) {
-				TableItem item = v.getTable().getItem(new Point(event.x,event.y));
-				if( item != null ) {
-					int count = v.getTable().getColumnCount();
-					
-					if( count == 0 ) {
-						selectionBounds[0] = item.getBounds();
-					}
-					
-					for( int i = 0; i < count; i++ ) {
-						if( item.getBounds(i).contains(event.x,event.y) ) {
-							selectionBounds[0] = item.getBounds(i);
-							return;
-						}
-					}
-				}
-			}
-			
-		});
-		
-		v.getTable().addListener(SWT.EraseItem, 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.SELECTED) != 0) {
-					if( selectionBounds[0] != null ) {
-						GC gc = event.gc;
-
-						Color background = gc.getBackground();
-						gc.setBackground(v.getTable().getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION));
-						gc.fillRectangle(selectionBounds[0].x,selectionBounds[0].y,selectionBounds[0].width,selectionBounds[0].height);
-						gc.setBackground(background);
-						
-					}
-					
-					event.detail &= ~SWT.SELECTED;
-				}
-			}
-		});
-		
-	}
-	
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[10];
-		
-		for( int i = 0; i < 10; i++ ) {
-			elements[i] = new MyModel(i);
-		}
-		
-		return elements;
-	}
-	
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display ();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet007FullSelection(shell);
-		shell.open ();
-		
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		
-		display.dispose ();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet008RevealElement.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet008RevealElement.java
deleted file mode 100644
index b275ed9..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet008RevealElement.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Scroll a Viewer 99th element
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- *
- */
-public class Snippet008RevealElement {
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return (MyModel[])inputElement;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-			
-		}
-
-		/* (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) {
-			
-		}
-		
-	}
-	
-	public class MyModel {
-		public int counter;
-		
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-		
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-	
-	public Snippet008RevealElement(Shell shell) {
-		final TableViewer v = new TableViewer(shell);
-		v.setLabelProvider(new LabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		MyModel[] model = createModel();
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-		v.reveal(model[99]);
-	}
-	
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[100];
-		
-		for( int i = 0; i < 100; i++ ) {
-			elements[i] = new MyModel(i);
-		}
-		
-		return elements;
-	}
-	
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display ();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet008RevealElement(shell);
-		shell.open ();
-		
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		
-		display.dispose ();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet009CellEditors.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet009CellEditors.java
deleted file mode 100644
index 46f6549..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet009CellEditors.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableItem;
-
-/**
- * Edit cell values in a table
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- *
- */
-public class Snippet009CellEditors {
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return (MyModel[])inputElement;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-			
-		}
-
-		/* (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) {
-			
-		}
-		
-	}
-	
-	public class MyModel {
-		public int counter;
-		
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-		
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-	
-	public Snippet009CellEditors(Shell shell) {
-		final TableViewer v = new TableViewer(shell,SWT.BORDER|SWT.FULL_SELECTION);
-		v.setLabelProvider(new LabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		v.setCellModifier(new ICellModifier() {
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object, java.lang.String)
-			 */
-			public boolean canModify(Object element, String property) {
-				return ((MyModel)element).counter % 2 == 0;
-			}
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object, java.lang.String)
-			 */
-			public Object getValue(Object element, String property) {
-				return ((MyModel)element).counter + "";
-			}
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object, java.lang.String, java.lang.Object)
-			 */
-			public void modify(Object element, String property, Object value) {
-				TableItem item = (TableItem)element;
-				((MyModel)item.getData()).counter = Integer.parseInt(value.toString());
-				v.update(item.getData(), null);
-			}
-			
-		});
-		v.setColumnProperties(new String[] { "column1" });
-		v.setCellEditors(new CellEditor[] { new TextCellEditor(v.getTable()) });
-		
-		
-		MyModel[] model = createModel();
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-	}
-	
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[10];
-		
-		for( int i = 0; i < 10; i++ ) {
-			elements[i] = new MyModel(i);
-		}
-		
-		return elements;
-	}
-	
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display ();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet009CellEditors(shell);
-		shell.open ();
-		
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		
-		display.dispose ();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet010OwnerDraw.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet010OwnerDraw.java
deleted file mode 100644
index e03b10a..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet010OwnerDraw.java
+++ /dev/null
@@ -1,424 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.ColumnPixelData;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.OwnerDrawLabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.graphics.TextLayout;
-import org.eclipse.swt.graphics.TextStyle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-
-public class Snippet010OwnerDraw {
-
-	public static void main(String[] args) {
-
-		Display display = new Display();
-		Shell shell = new Shell(display, SWT.CLOSE);
-		shell.setSize(400, 400);
-		shell.setLayout(new GridLayout());
-
-		Snippet010OwnerDraw example = new Snippet010OwnerDraw();
-		example.createPartControl(shell);
-
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			display.readAndDispatch();
-		}
-		display.dispose();
-	}
-
-	private static int COLUMN_COUNT = 3;
-
-	class CountryEntry {
-
-		String name;
-
-		String cupYear;
-
-		private String baseName;
-
-		/**
-		 * Create a new instance of the receiver.
-		 * 
-		 * @param countryName
-		 * @param worldCupYear
-		 */
-		CountryEntry(String countryName, String englishName, String worldCupYear) {
-			name = countryName;
-			cupYear = worldCupYear;
-			baseName = englishName;
-		}
-
-		/**
-		 * @param index
-		 * @return
-		 */
-		public int getHeight(Event event) {
-			switch (event.index) {
-			case 0:
-				return event.gc.textExtent(name).y;
-			case 1:
-				return 50;
-			case 2:
-				return event.gc.textExtent(cupYear).y;
-			default:
-				return 10;
-			}
-		}
-
-		/**
-		 * @param index
-		 * @return
-		 */
-		public int getWidth(Event event) {
-
-			switch (event.index) {
-			case 0:
-				return event.gc.textExtent(getDisplayString().toString()).x + 50;
-
-			case 1:
-				return 200;
-
-			case 2:
-				return event.gc.textExtent(cupYear).x + 5;
-
-			default:
-				return 10;
-			}
-		}
-
-		/**
-		 * Draw the flag in bounds.
-		 * 
-		 * @param event
-		 */
-		protected void drawFlag(Event event) {
-			event.gc.setBackground(viewer.getControl().getDisplay()
-					.getSystemColor(SWT.COLOR_BLUE));
-
-			Rectangle bounds = event.getBounds();
-			bounds.width += 100;
-			event.gc.fillRectangle(bounds);
-		}
-
-		/**
-		 * Draw the cup year
-		 * 
-		 * @param event
-		 */
-		private void drawCupYear(Event event) {
-			event.gc.drawText(cupYear, event.x, event.y);
-
-		}
-
-		/**
-		 * Draw the name of the receiver.
-		 * 
-		 * @param event
-		 */
-		protected void drawName(Event event) {
-
-			StringBuffer buffer = getDisplayString();
-
-			Display display = viewer.getControl().getDisplay();
-			TextLayout layout = new TextLayout(display);
-			layout.setText(buffer.toString());
-
-			TextStyle plain = new TextStyle(JFaceResources
-					.getFont(JFaceResources.DEFAULT_FONT), display
-					.getSystemColor(SWT.COLOR_LIST_FOREGROUND), display
-					.getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-
-			TextStyle italic = new TextStyle(JFaceResources.getFontRegistry()
-					.getItalic(JFaceResources.DEFAULT_FONT), display
-					.getSystemColor(SWT.COLOR_BLUE), display
-					.getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-
-			layout.setStyle(plain, 0, name.length() - 1);
-			layout.setStyle(italic, name.length(), buffer.length() - 1);
-
-			layout.draw(event.gc, event.x, event.y);
-
-		}
-
-		/**
-		 * @return
-		 */
-		private StringBuffer getDisplayString() {
-			StringBuffer buffer = new StringBuffer();
-			buffer.append(name);
-			buffer.append(" (");
-			buffer.append(baseName);
-			buffer.append(")");
-			return buffer;
-		}
-
-		/**
-		 * @param event
-		 */
-		public void draw(Event event) {
-
-			switch (event.index) {
-			case 0:
-				drawName(event);
-				break;
-			case 1:
-				drawFlag(event);
-				break;
-			case 2:
-				drawCupYear(event);
-				break;
-
-			default:
-				break;
-			}
-
-		}
-	}
-
-	private class GermanyEntry extends CountryEntry {
-
-		GermanyEntry() {
-			super("Deutschland", "Germany", "1990");
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.tests.viewers.OwnerDrawExample.CountryEntry#drawFlag(org.eclipse.swt.widgets.Event)
-		 */
-		protected void drawFlag(Event event) {
-
-			Rectangle bounds = event.getBounds();
-			bounds.width += 100;
-			int stripeHeight = bounds.height / 3;
-			Rectangle stripe = new Rectangle(bounds.x, bounds.y, bounds.width,
-					stripeHeight);
-
-			event.gc.setBackground(viewer.getControl().getDisplay()
-					.getSystemColor(SWT.COLOR_BLACK));
-			event.gc.fillRectangle(stripe);
-
-			stripe.y += stripeHeight;
-
-			event.gc.setBackground(viewer.getControl().getDisplay()
-					.getSystemColor(SWT.COLOR_YELLOW));
-			event.gc.fillRectangle(stripe);
-
-			stripe.y += stripeHeight;
-
-			event.gc.setBackground(viewer.getControl().getDisplay()
-					.getSystemColor(SWT.COLOR_RED));
-			event.gc.fillRectangle(stripe);
-
-		}
-
-	}
-
-	private class AustriaEntry extends CountryEntry {
-
-		AustriaEntry() {
-			super("\u00D6sterreich", "Austria", "TBD");
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.tests.viewers.OwnerDrawExample.CountryEntry#drawFlag(org.eclipse.swt.widgets.Event)
-		 */
-		protected void drawFlag(Event event) {
-
-			Rectangle bounds = event.getBounds();
-			bounds.width += 100;
-			int stripeHeight = bounds.height / 3;
-			Rectangle stripe = new Rectangle(bounds.x, bounds.y, bounds.width,
-					stripeHeight);
-
-			event.gc.setBackground(viewer.getControl().getDisplay()
-					.getSystemColor(SWT.COLOR_RED));
-			event.gc.fillRectangle(stripe);
-
-			stripe.y += stripeHeight;
-
-			event.gc.setBackground(viewer.getControl().getDisplay()
-					.getSystemColor(SWT.COLOR_WHITE));
-			event.gc.fillRectangle(stripe);
-
-			stripe.y += stripeHeight;
-
-			event.gc.setBackground(viewer.getControl().getDisplay()
-					.getSystemColor(SWT.COLOR_RED));
-			event.gc.fillRectangle(stripe);
-
-		}
-	}
-
-	private class EnglandEntry extends CountryEntry {
-		EnglandEntry() {
-			super("Blighty", "England", "1966");
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.tests.viewers.OwnerDrawExample.CountryEntry#drawFlag(org.eclipse.swt.widgets.Event)
-		 */
-		protected void drawFlag(Event event) {
-
-			Rectangle bounds = event.getBounds();
-			bounds.width += 100;
-
-			event.gc.setBackground(viewer.getControl().getDisplay()
-					.getSystemColor(SWT.COLOR_RED));
-			event.gc.fillRectangle(new Rectangle(bounds.width / 2 + bounds.x
-					- 5, bounds.y, 10, bounds.height));
-			event.gc.fillRectangle(new Rectangle(bounds.x, bounds.height / 2
-					+ bounds.y - 5, bounds.width, 10));
-
-		}
-	}
-
-	private TableViewer viewer;
-
-	private CountryEntry[] entries;
-
-	public Snippet010OwnerDraw() {
-		entries = new CountryEntry[3];
-		entries[0] = new AustriaEntry();
-		entries[1] = new GermanyEntry();
-		entries[2] = new EnglandEntry();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		viewer = new TableViewer(parent, SWT.FULL_SELECTION);
-
-		viewer.setContentProvider(new IStructuredContentProvider() {
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-			 */
-			public void dispose() {
-			};
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-			 */
-			public Object[] getElements(Object inputElement) {
-				return entries;
-			};
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
-			 *      java.lang.Object, java.lang.Object)
-			 */
-			public void inputChanged(org.eclipse.jface.viewers.Viewer viewer,
-					Object oldInput, Object newInput) {
-			}
-
-		});
-		createColumns();
-
-		viewer.setLabelProvider(new OwnerDrawLabelProvider() {
-	
-
-			protected void measure(Event event, Object element) {
-				CountryEntry country = (CountryEntry) element;
-
-				event.setBounds(new Rectangle(0, 0, country.getWidth(event),
-						country.getHeight(event)));
-
-			}
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.OwnerDrawLabelProvider#paint(org.eclipse.swt.widgets.Event,
-			 *      java.lang.Object)
-			 */
-			protected void paint(Event event, Object element) {
-				CountryEntry entry = (CountryEntry) element;
-				entry.draw(event);
-
-			}
-		});
-		
-		OwnerDrawLabelProvider.setUpOwnerDraw(viewer);
-		viewer.setInput(this);
-		GridData data = new GridData(GridData.GRAB_HORIZONTAL
-				| GridData.GRAB_VERTICAL | GridData.FILL_BOTH);
-
-		viewer.getControl().setLayoutData(data);
-
-		viewer.setSelection(new StructuredSelection(entries[1]));
-	}
-
-	/**
-	 * Create the columns to be used in the tree.
-	 */
-	private void createColumns() {
-		TableLayout layout = new TableLayout();
-		viewer.getTable().setLayout(layout);
-		viewer.getTable().setHeaderVisible(true);
-		viewer.getTable().setLinesVisible(true);
-
-		for (int i = 0; i < COLUMN_COUNT; i++) {
-			TableColumn tc = new TableColumn(viewer.getTable(), SWT.NONE, i);
-			layout.addColumnData(new ColumnPixelData(100));
-			tc.setText(getTitleFor(i));
-		}
-		;
-	}
-
-	/**
-	 * @param i
-	 * @return
-	 */
-	private String getTitleFor(int i) {
-		switch (i) {
-		case 0:
-			return "Name";
-		case 1:
-			return "Flag";
-		case 2:
-			return "World Cup Year";
-		}
-		return "Unknown";
-	}
-
-	public void setFocus() {
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet011CustomTooltips.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet011CustomTooltips.java
deleted file mode 100644
index c66dfd9..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet011CustomTooltips.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *     IBM - Improvement for Bug 159625 [Snippets] Update Snippet011CustomTooltips to reflect new API
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.viewers.CellLabelProvider;
-import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TableViewerColumn;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerCell;
-import org.eclipse.jface.window.ToolTip;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Explore New API: JFace custom tooltips drawing.
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * @since 3.3
- */
-public class Snippet011CustomTooltips {
-	private static class MyContentProvider implements
-			IStructuredContentProvider {
-
-		public Object[] getElements(Object inputElement) {
-			return new String[] { "one", "two", "three", "four", "five", "six",
-					"seven", "eight", "nine", "ten" };
-		}
-
-		public void dispose() {
-
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-
-		}
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		final Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-
-		TableViewer v = new TableViewer(shell, SWT.FULL_SELECTION);
-		v.getTable().setLinesVisible(true);
-		v.getTable().setHeaderVisible(true);
-		v.setContentProvider(new MyContentProvider());
-		ColumnViewerToolTipSupport.enableFor(v,ToolTip.NO_RECREATE);
-		
-		CellLabelProvider labelProvider = new CellLabelProvider() {
-
-			public String getToolTipText(Object element) {
-				return "Tooltip (" + element + ")";
-			}
-
-			public Point getToolTipShift(Object object) {
-				return new Point(5, 5);
-			}
-
-			public int getToolTipDisplayDelayTime(Object object) {
-				return 2000;
-			}
-
-			public int getToolTipTimeDisplayed(Object object) {
-				return 5000;
-			}
-
-			public void update(ViewerCell cell) {
-				cell.setText(cell.getElement().toString());
-
-			}
-		};
-
-		TableViewerColumn column = new TableViewerColumn(v, SWT.NONE);
-		column.setLabelProvider(labelProvider);
-		column.getColumn().setText("Column 1");
-		column.getColumn().setWidth(100);
-
-		v.setInput("");
-
-		shell.setSize(200, 200);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) {
-				display.sleep();
-			}
-		}
-
-		display.dispose();
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet013TableViewerNoMandatoryLabelProvider.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet013TableViewerNoMandatoryLabelProvider.java
deleted file mode 100644
index 1de89ef..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet013TableViewerNoMandatoryLabelProvider.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.resource.FontRegistry;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableColorProvider;
-import org.eclipse.jface.viewers.ITableFontProvider;
-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.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-
-/**
- * Example usage of none mandatory interfaces of ITableFontProvider and
- * ITableColorProvider
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
- */
-public class Snippet013TableViewerNoMandatoryLabelProvider {
-
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return (MyModel[]) inputElement;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-
-		}
-
-		/*
-		 * (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) {
-
-		}
-
-	}
-
-	public class MyModel {
-		public int counter;
-
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-
-	public class MyLabelProvider extends LabelProvider implements
-			ITableLabelProvider, ITableFontProvider, ITableColorProvider {
-		FontRegistry registry = new FontRegistry();
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			return "Column " + columnIndex + " => " + element.toString();
-		}
-
-		public Font getFont(Object element, int columnIndex) {
-			if (((MyModel) element).counter % 2 == 0) {
-				return registry.getBold(Display.getCurrent().getSystemFont()
-						.getFontData()[0].getName());
-			}
-			return null;
-		}
-
-		public Color getBackground(Object element, int columnIndex) {
-			if (((MyModel) element).counter % 2 == 0) {
-				return Display.getCurrent().getSystemColor(SWT.COLOR_RED);
-			}
-			return null;
-		}
-
-		public Color getForeground(Object element, int columnIndex) {
-			if (((MyModel) element).counter % 2 == 1) {
-				return Display.getCurrent().getSystemColor(SWT.COLOR_RED);
-			}
-			return null;
-		}
-
-	}
-
-	public Snippet013TableViewerNoMandatoryLabelProvider(Shell shell) {
-		final TableViewer v = new TableViewer(shell, SWT.BORDER
-				| SWT.FULL_SELECTION);
-		v.setLabelProvider(new MyLabelProvider());
-		v.setContentProvider(new MyContentProvider());
-
-		TableColumn column = new TableColumn(v.getTable(), SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 1");
-
-		column = new TableColumn(v.getTable(), SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 2");
-
-		MyModel[] model = createModel();
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-		v.getTable().setHeaderVisible(true);
-	}
-
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[10];
-
-		for (int i = 0; i < 10; i++) {
-			elements[i] = new MyModel(i);
-		}
-
-		return elements;
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet013TableViewerNoMandatoryLabelProvider(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet014TreeViewerNoMandatoryLabelProvider.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet014TreeViewerNoMandatoryLabelProvider.java
deleted file mode 100644
index e3c8aae..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet014TreeViewerNoMandatoryLabelProvider.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.resource.FontRegistry;
-import org.eclipse.jface.viewers.ITableColorProvider;
-import org.eclipse.jface.viewers.ITableFontProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TreeColumn;
-
-/**
- * A simple TreeViewer to demonstrate usage
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
- */
-public class Snippet014TreeViewerNoMandatoryLabelProvider {
-	private class MyContentProvider implements ITreeContentProvider {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return ((MyModel) inputElement).child.toArray();
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-
-		}
-
-		/*
-		 * (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) {
-
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-		 */
-		public Object[] getChildren(Object parentElement) {
-			return getElements(parentElement);
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
-		 */
-		public Object getParent(Object element) {
-			if (element == null) {
-				return null;
-			}
-
-			return ((MyModel) element).parent;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-		 */
-		public boolean hasChildren(Object element) {
-			return ((MyModel) element).child.size() > 0;
-		}
-
-	}
-
-	public class MyModel {
-		public MyModel parent;
-
-		public ArrayList child = new ArrayList();
-
-		public int counter;
-
-		public MyModel(int counter, MyModel parent) {
-			this.parent = parent;
-			this.counter = counter;
-		}
-
-		public String toString() {
-			String rv = "Item ";
-			if (parent != null) {
-				rv = parent.toString() + ".";
-			}
-
-			rv += counter;
-
-			return rv;
-		}
-	}
-
-	public class MyLabelProvider extends LabelProvider implements
-			ITableLabelProvider, ITableFontProvider, ITableColorProvider {
-		FontRegistry registry = new FontRegistry();
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			return "Column " + columnIndex + " => " + element.toString();
-		}
-
-		public Font getFont(Object element, int columnIndex) {
-			if (((MyModel) element).counter % 2 == 0) {
-				return registry.getBold(Display.getCurrent().getSystemFont()
-						.getFontData()[0].getName());
-			}
-			return null;
-		}
-
-		public Color getBackground(Object element, int columnIndex) {
-			if (((MyModel) element).counter % 2 == 0) {
-				return Display.getCurrent().getSystemColor(SWT.COLOR_RED);
-			}
-			return null;
-		}
-
-		public Color getForeground(Object element, int columnIndex) {
-			if (((MyModel) element).counter % 2 == 1) {
-				return Display.getCurrent().getSystemColor(SWT.COLOR_RED);
-			}
-			return null;
-		}
-
-	}
-
-	public Snippet014TreeViewerNoMandatoryLabelProvider(Shell shell) {
-		final TreeViewer v = new TreeViewer(shell);
-		
-		TreeColumn column = new TreeColumn(v.getTree(),SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 1");
-		
-		column = new TreeColumn(v.getTree(),SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 2");
-		
-		v.setLabelProvider(new MyLabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		v.setInput(createModel());
-	}
-
-	private MyModel createModel() {
-
-		MyModel root = new MyModel(0, null);
-		root.counter = 0;
-
-		MyModel tmp;
-		for (int i = 1; i < 10; i++) {
-			tmp = new MyModel(i, root);
-			root.child.add(tmp);
-			for (int j = 1; j < i; j++) {
-				tmp.child.add(new MyModel(j, tmp));
-			}
-		}
-
-		return root;
-	}
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet014TreeViewerNoMandatoryLabelProvider(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet015CustomTooltipsForTree.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet015CustomTooltipsForTree.java
deleted file mode 100644
index 86312d4..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet015CustomTooltipsForTree.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerCell;
-import org.eclipse.jface.viewers.CellLabelProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Explore New API: JFace custom tooltips drawing.
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * @since 3.3M2
- */
-public class Snippet015CustomTooltipsForTree {
-	private static class MyContentProvider implements ITreeContentProvider {
-
-		private static final String ROOT = "Root";
-
-		public Object[] getElements(Object inputElement) {
-			return new Object[]{ROOT};
-		}
-
-		public void dispose() {
-			
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			
-			
-		}
-
-		public Object[] getChildren(Object parentElement) {
-			if(parentElement.equals(ROOT))
-				return new String[] { "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten" };
-			return new Object[0];
-		}
-
-		public Object getParent(Object element) {
-			return null;
-		}
-
-		public boolean hasChildren(Object element) {
-			return element.equals(ROOT);
-		}
-	}
-	
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		final Display display = new Display ();
-		Shell shell = new Shell (display);
-	    shell.setLayout(new FillLayout());
-	    
-	    TreeViewer v = new TreeViewer(shell,SWT.FULL_SELECTION);
-	    v.getTree().setLinesVisible(true);
-	    v.getTree().setHeaderVisible(true);
-	    ColumnViewerToolTipSupport.enableFor(v);
-	    
-	    v.setContentProvider(new MyContentProvider());
-	    
-	    CellLabelProvider labelProvider = new CellLabelProvider() {
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.viewers.ViewerLabelProvider#getTooltipText(java.lang.Object)
-			 */
-			public String getToolTipText(Object element) {
-				return "Tooltip (" + element + ")";
-			}
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.viewers.ViewerLabelProvider#getTooltipShift(java.lang.Object)
-			 */
-			public Point getToolTipShift(Object object) {
-				return new Point(5,5);
-			}
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.viewers.ViewerLabelProvider#getTooltipDisplayDelayTime(java.lang.Object)
-			 */
-			public int getToolTipDisplayDelayTime(Object object) {
-				return 2000;
-			}
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.viewers.ViewerLabelProvider#getTooltipTimeDisplayed(java.lang.Object)
-			 */
-			public int getToolTipTimeDisplayed(Object object) {
-				return 5000;
-			}
-			
-			public void update(ViewerCell cell) {
-				cell.setText(cell.getElement().toString());
-				
-			}
-	    };
-	    
-	    
-	    v.setLabelProvider(labelProvider);
-	    v.setInput("");
-	    
-	    shell.setSize(200,200);
-	    shell.open ();
-	    
-	    while (!shell.isDisposed()) {
-	        if (!display.readAndDispatch ()) {
-	        	display.sleep ();
-	        }
-	    }
-	    
-	    display.dispose ();
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet017TableViewerHideShowColumns.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet017TableViewerHideShowColumns.java
deleted file mode 100644
index 12080b2..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet017TableViewerHideShowColumns.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.MenuManager;
-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.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-
-/**
- * Example usage of none mandatory interfaces of ITableFontProvider and
- * ITableColorProvider
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * @since 3.2
- */
-public class Snippet017TableViewerHideShowColumns {
-	private class ShrinkThread extends Thread {
-		private int width = 0;
-		private TableColumn column;
-		
-		public ShrinkThread(int width, TableColumn column) {
-			super();
-			this.width = width;
-			this.column = column;
-		}
-		
-		public void run() {
-			column.getDisplay().syncExec(new Runnable() {
-
-				public void run() {
-					column.setData("restoredWidth", new Integer(width));
-				}
-			});
-			
-			for( int i = width; i >= 0; i-- ) {
-				final int index = i;
-				column.getDisplay().syncExec(new Runnable() {
-
-					public void run() {
-						column.setWidth(index);
-					}
-					
-				});
-			}
-		}
-	};
-	
-	private class ExpandThread extends Thread {
-		private int width = 0;
-		private TableColumn column;
-		
-		public ExpandThread(int width, TableColumn column) {
-			super();
-			this.width = width;
-			this.column = column;
-		}
-		
-		public void run() {
-			for( int i = 0; i <= width; i++ ) {
-				final int index = i;
-				column.getDisplay().syncExec(new Runnable() {
-
-					public void run() {
-						column.setWidth(index);
-					}
-					
-				});
-			}
-		}
-	}
-	
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return (MyModel[]) inputElement;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-
-		}
-
-		/*
-		 * (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) {
-
-		}
-
-	}
-
-	public class MyModel {
-		public int counter;
-
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-
-	public class MyLabelProvider extends LabelProvider implements
-			ITableLabelProvider {
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			return "Column " + columnIndex + " => " + element.toString();
-		}
-	}
-
-	public Snippet017TableViewerHideShowColumns(Shell shell) {
-		final TableViewer v = new TableViewer(shell, SWT.BORDER
-				| SWT.FULL_SELECTION);
-		v.setLabelProvider(new MyLabelProvider());
-		v.setContentProvider(new MyContentProvider());
-
-		TableColumn column = new TableColumn(v.getTable(), SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 1");
-
-		column = new TableColumn(v.getTable(), SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 2");
-		
-		column = new TableColumn(v.getTable(), SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 3");
-
-		MyModel[] model = createModel();
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-		v.getTable().setHeaderVisible(true);
-		addMenu(v);
-	}
-
-	private void addMenu(TableViewer v) {
-		final MenuManager mgr = new MenuManager();
-		Action action;
-		
-		for( int i = 0; i < v.getTable().getColumnCount(); i++ ) {
-			final TableColumn column = v.getTable().getColumn(i);
-			
-			action = new Action(v.getTable().getColumn(i).getText(),SWT.CHECK) {
-				public void runWithEvent(Event event) {
-					if( ! isChecked() ) {
-						ShrinkThread t = new ShrinkThread(column.getWidth(),column);
-						t.run();
-					} else {
-						ExpandThread t = new ExpandThread(((Integer)column.getData("restoredWidth")).intValue(),column);
-						t.run();
-					}
-				}
-				
-			};
-			action.setChecked(true);
-			mgr.add(action);
-		}
-		
-		v.getControl().setMenu(mgr.createContextMenu(v.getControl()));
-	}
-	
-	
-	
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[10];
-
-		for (int i = 0; i < 10; i++) {
-			elements[i] = new MyModel(i);
-		}
-
-		return elements;
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet017TableViewerHideShowColumns(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet018TableViewerAddRemoveColumnsWithEditing.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet018TableViewerAddRemoveColumnsWithEditing.java
deleted file mode 100644
index 5c90d00..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet018TableViewerAddRemoveColumnsWithEditing.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.Arrays;
-
-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.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-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.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-
-/**
- * Example of adding and removing columns in conjunction with JFace-Viewers
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * @since 3.2
- */
-public class Snippet018TableViewerAddRemoveColumnsWithEditing {
-
-	public class Person {
-		public String givenname;
-
-		public String surname;
-
-		public String email;
-
-		public Person(String givenname, String surname, String email) {
-			this.givenname = givenname;
-			this.surname = surname;
-			this.email = email;
-		}
-
-		public String getValue(String name) {
-			Field field;
-			try {
-				field = getClass().getDeclaredField(name);
-				return (String) field.get(this);
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-
-			return "ERROR";
-		}
-
-		public void setValue(String name, String value) {
-			Field field;
-			try {
-				field = getClass().getDeclaredField(name);
-				field.set(this, value);
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-		}
-	}
-
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		public Object[] getElements(Object inputElement) {
-			return (Person[]) inputElement;
-		}
-
-		public void dispose() {
-
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-
-		}
-
-	}
-
-	public class MyLabelProvider extends LabelProvider implements
-			ITableLabelProvider {
-		private TableViewer viewer;
-
-		public MyLabelProvider(TableViewer viewer) {
-			this.viewer = viewer;
-		}
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			return ((Person) element)
-					.getValue(viewer.getColumnProperties()[columnIndex]
-							.toString());
-		}
-	}
-
-	public class MyCellModifier implements ICellModifier {
-		private TableViewer viewer;
-
-		public MyCellModifier(TableViewer viewer) {
-			this.viewer = viewer;
-		}
-
-		public boolean canModify(Object element, String property) {
-			return true;
-		}
-
-		public Object getValue(Object element, String property) {
-			return ((Person) element).getValue(property);
-		}
-
-		public void modify(Object element, String property, Object value) {
-			((Person) ((Item) element).getData()).setValue(property, value
-					.toString());
-			viewer.update(((Item) element).getData(), null);
-		}
-
-	}
-
-	private int activeColumn = -1;
-
-	public Snippet018TableViewerAddRemoveColumnsWithEditing(Shell shell) {
-		final TableViewer v = new TableViewer(shell, SWT.BORDER
-				| SWT.FULL_SELECTION);
-		v.setLabelProvider(new MyLabelProvider(v));
-		v.setContentProvider(new MyContentProvider());
-		v.setCellEditors(new CellEditor[] { new TextCellEditor(v.getTable()),
-				new TextCellEditor(v.getTable()),
-				new TextCellEditor(v.getTable()) });
-		v.setCellModifier(new MyCellModifier(v));
-
-		v.setColumnProperties(new String[] { "givenname", "surname" });
-
-		TableColumn column = new TableColumn(v.getTable(), SWT.NONE);
-		column.setWidth(200);
-		column.setText("Givenname");
-
-		column = new TableColumn(v.getTable(), SWT.NONE);
-		column.setWidth(200);
-		column.setText("Surname");
-
-		Person[] model = createModel();
-
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-		v.getTable().setHeaderVisible(true);
-
-		addMenu(v);
-		triggerColumnSelectedColumn(v);
-	}
-
-	private void triggerColumnSelectedColumn(final TableViewer v) {
-		v.getTable().addMouseListener(new MouseAdapter() {
-
-			public void mouseDown(MouseEvent e) {
-				int x = 0;
-				for (int i = 0; i < v.getTable().getColumnCount(); i++) {
-					x += v.getTable().getColumn(i).getWidth();
-					if (e.x <= x) {
-						activeColumn = i;
-						break;
-					}
-				}
-			}
-
-		});
-	}
-
-	private void addMenu(final TableViewer v) {
-		final MenuManager mgr = new MenuManager();
-
-		final Action insertEmailBefore = new Action("Insert E-Mail before") {
-			public void run() {
-				addEmailColumn(v, activeColumn);
-			}
-		};
-
-		final Action insertEmailAfter = new Action("Insert E-Mail after") {
-			public void run() {
-				addEmailColumn(v, activeColumn + 1);
-			}
-		};
-
-		final Action removeEmail = new Action("Remove E-Mail") {
-			public void run() {
-				removeEmailColumn(v);
-			}
-		};
-
-		mgr.setRemoveAllWhenShown(true);
-		mgr.addMenuListener(new IMenuListener() {
-
-			public void menuAboutToShow(IMenuManager manager) {
-				if (v.getTable().getColumnCount() == 2) {
-					manager.add(insertEmailBefore);
-					manager.add(insertEmailAfter);
-				} else {
-					manager.add(removeEmail);
-				}
-			}
-
-		});
-
-		v.getControl().setMenu(mgr.createContextMenu(v.getControl()));
-	}
-
-	private void removeEmailColumn(TableViewer v) {
-		int emailIndex = -1;
-		for (int i = 0; i < v.getColumnProperties().length; i++) {
-			if (v.getColumnProperties()[i].toString().equals("email")) {
-				emailIndex = i;
-				break;
-			}
-		}
-
-		ArrayList list = new ArrayList(Arrays.asList(v.getCellEditors()));
-		list.remove(emailIndex);
-		CellEditor[] editors = new CellEditor[list.size()];
-		list.toArray(editors);
-		v.setCellEditors(editors);
-
-		list = new ArrayList(Arrays.asList(v.getColumnProperties()));
-		list.remove(emailIndex);
-		String[] columnProperties = new String[list.size()];
-		list.toArray(columnProperties);
-		v.setColumnProperties(columnProperties);
-
-		v.getTable().getColumn(emailIndex).dispose();
-
-		v.refresh();
-	}
-
-	private void addEmailColumn(TableViewer v, int columnIndex) {
-		ArrayList list = new ArrayList(Arrays.asList(v.getCellEditors()));
-		list.add(columnIndex, new TextCellEditor(v.getTable()));
-		CellEditor[] editors = new CellEditor[list.size()];
-		list.toArray(editors);
-		v.setCellEditors(editors);
-
-		list = new ArrayList(Arrays.asList(v.getColumnProperties()));
-		list.add(columnIndex, "email");
-		String[] columnProperties = new String[list.size()];
-		list.toArray(columnProperties);
-		v.setColumnProperties(columnProperties);
-
-		// 1. Add new column
-		TableColumn column = new TableColumn(v.getTable(), SWT.NONE,
-				columnIndex);
-		column.setText("E-Mail");
-
-		// 2. Update the viewer
-		v.refresh();
-
-		// 3. Make the colum visible
-		column.setWidth(200);
-	}
-
-	private Person[] createModel() {
-		Person[] persons = new Person[3];
-		persons[0] = new Person("Tom", "Schindl", "tom.schindl@bestsolution.at");
-		persons[1] = new Person("Boris", "Bokowski",
-				"boris_bokowski@ca.ibm.com");
-		persons[2] = new Person("Tod", "Creasey", "tod_creasey@ca.ibm.com");
-
-		return persons;
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet018TableViewerAddRemoveColumnsWithEditing(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet019TableViewerAddRemoveColumnsWithEditingNewAPI.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet019TableViewerAddRemoveColumnsWithEditingNewAPI.java
deleted file mode 100644
index 72bc416..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet019TableViewerAddRemoveColumnsWithEditingNewAPI.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-
-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.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.EditingSupport;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TableViewerColumn;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Explore the new API added in 3.3 and see how easily you can create reusable
- * components
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * @since 3.2
- */
-public class Snippet019TableViewerAddRemoveColumnsWithEditingNewAPI {
-
-	public class Person {
-		public String givenname;
-
-		public String surname;
-
-		public String email;
-
-		public Person(String givenname, String surname, String email) {
-			this.givenname = givenname;
-			this.surname = surname;
-			this.email = email;
-		}
-	}
-
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		public Object[] getElements(Object inputElement) {
-			return (Person[]) inputElement;
-		}
-
-		public void dispose() {
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-
-		}
-
-	}
-
-	
-
-	private class GivenNameLabelProvider extends ColumnLabelProvider {
-		public String getText(Object element) {
-			return ((Person) element).givenname;
-		}
-	}
-	
-	private class GivenNameEditing extends EditingSupport {
-		private TextCellEditor cellEditor;
-		
-		public GivenNameEditing(TableViewer viewer) {
-			super(viewer);
-			cellEditor = new TextCellEditor(viewer.getTable());
-		}
-		
-		protected boolean canEdit(Object element) {
-			return true;
-		}
-		
-		protected CellEditor getCellEditor(Object element) {
-			return cellEditor;
-		}
-
-		protected Object getValue(Object element) {
-			return ((Person) element).givenname;
-		}
-
-		protected void setValue(Object element, Object value) {
-			((Person) element).givenname = value.toString();
-			getViewer().update(element, null);
-		}
-	}
-	
-	private class SurNameLabelProvider extends ColumnLabelProvider {
-		public String getText(Object element) {
-			return ((Person) element).surname;
-		}
-	}
-	
-	private class SurNameEditing extends EditingSupport {
-		private TextCellEditor cellEditor;
-		
-		public SurNameEditing( TableViewer viewer ) {
-			super(viewer);
-			cellEditor = new TextCellEditor(viewer.getTable());
-		}
-		
-		protected boolean canEdit(Object element) {
-			return true;
-		}
-		
-		protected CellEditor getCellEditor(Object element) {
-			return cellEditor;
-		}
-
-		protected Object getValue(Object element) {
-			return ((Person) element).surname;
-		}
-
-		protected void setValue(Object element, Object value) {
-			((Person) element).surname = value.toString();
-			getViewer().update(element, null);
-		}
-	}
-	
-	private class EmailLabelProvider extends ColumnLabelProvider {
-		public String getText(Object element) {
-			return ((Person) element).email;
-		}
-	}
-	
-	private class EmailEditing extends EditingSupport {
-		private TextCellEditor cellEditor;
-		
-		public EmailEditing( TableViewer viewer ) {
-			super(viewer);
-			cellEditor = new TextCellEditor(viewer.getTable());
-		}
-		
-		protected boolean canEdit(Object element) {
-			return true;
-		}
-		
-		protected CellEditor getCellEditor(Object element) {
-			return cellEditor;
-		}
-
-		protected Object getValue(Object element) {
-			return ((Person) element).email;
-		}
-
-		protected void setValue(Object element, Object value) {
-			((Person) element).email = value.toString();
-			getViewer().update(element, null);
-		}
-	}
-	
-	private int activeColumn = -1;
-	
-	private TableViewerColumn column;
-	
-	public Snippet019TableViewerAddRemoveColumnsWithEditingNewAPI(Shell shell) {
-		final TableViewer v = new TableViewer(shell, SWT.BORDER
-				| SWT.FULL_SELECTION);
-
-		TableViewerColumn column = new TableViewerColumn(v,SWT.NONE);
-		column.setLabelProvider(new GivenNameLabelProvider());
-		column.setEditingSupport(new GivenNameEditing(v));
-		
-		column.getColumn().setWidth(200);
-		column.getColumn().setText("Givenname");
-
-		column = new TableViewerColumn(v,SWT.NONE);
-		column.setLabelProvider(new SurNameLabelProvider());
-		column.setEditingSupport(new SurNameEditing(v));
-		column.getColumn().setWidth(200);
-		column.getColumn().setText("Surname");
-
-		Person[] model = createModel();
-
-		v.setContentProvider(new MyContentProvider());
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-		v.getTable().setHeaderVisible(true);
-
-		addMenu(v);
-		triggerColumnSelectedColumn(v);
-	}
-
-	private void triggerColumnSelectedColumn(final TableViewer v) {
-		v.getTable().addMouseListener(new MouseAdapter() {
-
-			public void mouseDown(MouseEvent e) {
-				int x = 0;
-				for (int i = 0; i < v.getTable().getColumnCount(); i++) {
-					x += v.getTable().getColumn(i).getWidth();
-					if (e.x <= x) {
-						activeColumn = i;
-						break;
-					}
-				}
-			}
-
-		});
-	}
-
-	private void removeEmailColumn(TableViewer v) {
-		column.getColumn().dispose();
-		v.refresh();
-	}
-
-	private void addEmailColumn(TableViewer v, int columnIndex) {
-		column = new TableViewerColumn(v, SWT.NONE, columnIndex);
-		column.setLabelProvider(new EmailLabelProvider());
-		column.setEditingSupport(new EmailEditing(v));
-		column.getColumn().setText("E-Mail");
-
-		v.refresh();
-
-		column.getColumn().setWidth(200);
-
-	}
-
-	private void addMenu(final TableViewer v) {
-		final MenuManager mgr = new MenuManager();
-
-		final Action insertEmailBefore = new Action("Insert E-Mail before") {
-			public void run() {
-				addEmailColumn(v, activeColumn);
-			}
-		};
-
-		final Action insertEmailAfter = new Action("Insert E-Mail after") {
-			public void run() {
-				addEmailColumn(v, activeColumn + 1);
-			}
-		};
-
-		final Action removeEmail = new Action("Remove E-Mail") {
-			public void run() {
-				removeEmailColumn(v);
-			}
-		};
-
-		mgr.setRemoveAllWhenShown(true);
-		mgr.addMenuListener(new IMenuListener() {
-
-			public void menuAboutToShow(IMenuManager manager) {
-				if (v.getTable().getColumnCount() == 2) {
-					manager.add(insertEmailBefore);
-					manager.add(insertEmailAfter);
-				} else {
-					manager.add(removeEmail);
-				}
-			}
-
-		});
-
-		v.getControl().setMenu(mgr.createContextMenu(v.getControl()));
-	}
-
-	private Person[] createModel() {
-		Person[] persons = new Person[3];
-		persons[0] = new Person("Tom", "Schindl", "tom.schindl@bestsolution.at");
-		persons[1] = new Person("Boris", "Bokowski",
-				"boris_bokowski@ca.ibm.com");
-		persons[2] = new Person("Tod", "Creasey", "tod_creasey@ca.ibm.com");
-
-		return persons;
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet019TableViewerAddRemoveColumnsWithEditingNewAPI(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet021CellEditorsOnDoubleClick.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet021CellEditorsOnDoubleClick.java
deleted file mode 100644
index 66ee74a..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet021CellEditorsOnDoubleClick.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *     Dinko Ivanov - bug 164365
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-
-/**
- * Editor Activation on DoubleClick instead of single.
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
- */
-public class Snippet021CellEditorsOnDoubleClick {
-	private class MyCellModifier implements ICellModifier {
-		
-		private TableViewer viewer;
-		
-		private boolean enabled;
-		
-		public void setEnabled(boolean enabled) {
-			this.enabled = enabled;
-		}
-
-
-		public void setViewer(TableViewer viewer) {
-			this.viewer = viewer;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object,
-		 *      java.lang.String)
-		 */
-		public boolean canModify(Object element, String property) {
-			return enabled && ((MyModel) element).counter % 2 == 0;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object,
-		 *      java.lang.String)
-		 */
-		public Object getValue(Object element, String property) {
-			return ((MyModel) element).counter + "";
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object,
-		 *      java.lang.String, java.lang.Object)
-		 */
-		public void modify(Object element, String property, Object value) {
-			TableItem item = (TableItem) element;
-			((MyModel) item.getData()).counter = Integer.parseInt(value
-					.toString());
-			viewer.update(item.getData(), null);
-		}
-	}
-	
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return (MyModel[]) inputElement;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-
-		}
-
-		/*
-		 * (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) {
-
-		}
-
-	}
-
-	public class MyModel {
-		public int counter;
-
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-
-	public Snippet021CellEditorsOnDoubleClick(Shell shell) {
-		final Table table = new Table(shell, SWT.BORDER | SWT.FULL_SELECTION);
-		final MyCellModifier modifier = new MyCellModifier();
-		
-		table.addListener(SWT.MouseDown, new Listener() {
-
-			public void handleEvent(Event event) {
-				modifier.setEnabled(false);
-			}
-
-		});
-
-		final TableViewer v = new TableViewer(table);
-
-		table.addListener(SWT.MouseDoubleClick, new Listener() {
-
-			public void handleEvent(Event event) {
-				modifier.setEnabled(true);
-				TableItem[] selection = table.getSelection();
-
-				if (selection.length != 1) {
-					return;
-				}
-
-				TableItem item = table.getSelection()[0];
-
-				for (int i = 0; i < table.getColumnCount(); i++) {
-					if (item.getBounds(i).contains(event.x, event.y)) {
-						v.editElement(item.getData(), i);
-						modifier.setEnabled(false);
-						break;
-					}
-				}
-			}
-
-		});
-
-		modifier.setViewer(v);
-		
-		TableColumn column = new TableColumn(table, SWT.NONE);
-		column.setWidth(200);
-
-		v.setLabelProvider(new LabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		v.setCellModifier(modifier);
-		v.setColumnProperties(new String[] { "column1" });
-		v.setCellEditors(new CellEditor[] { new TextCellEditor(v.getTable()) });
-
-		MyModel[] model = createModel();
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-	}
-
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[10];
-
-		for (int i = 0; i < 10; i++) {
-			elements[i] = new MyModel(i);
-		}
-
-		return elements;
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet021CellEditorsOnDoubleClick(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet022TableViewerRefreshNoScroll.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet022TableViewerRefreshNoScroll.java
deleted file mode 100644
index 744f526..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet022TableViewerRefreshNoScroll.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.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.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-
-/**
- * A simple TableViewer to demonstrating how viewers could be refresh and
- * scrolling avoided in 3.2. In 3.3 implementors should consider using the
- * {@link StructuredViewer#refresh(boolean, boolean)} instead.
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
- */
-public class Snippet022TableViewerRefreshNoScroll {
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			ArrayList list = (ArrayList) inputElement;
-			list.add(new MyModel(list.size()));
-			return list.toArray();
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-
-		}
-
-		/*
-		 * (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) {
-
-		}
-
-	}
-
-	public class MyModel {
-		public int counter;
-
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-
-	public Snippet022TableViewerRefreshNoScroll(Shell shell) {
-		shell.setLayout(new GridLayout(2, false));
-		final TableViewer v = new TableViewer(shell, SWT.BORDER
-				| SWT.FULL_SELECTION);
-
-		TableColumn column = new TableColumn(v.getTable(), SWT.NONE);
-		column.setWidth(200);
-
-		v.setLabelProvider(new LabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		v.setInput(createModel(100));
-		v.getTable().setLinesVisible(true);
-		v.getTable().setLayoutData(
-				new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
-
-		Button b = new Button(shell, SWT.PUSH);
-		b.setText("Refresh with Scrolling");
-		b.addSelectionListener(new SelectionAdapter() {
-
-			public void widgetSelected(SelectionEvent e) {
-				v.refresh();
-			}
-
-		});
-
-		b = new Button(shell, SWT.PUSH);
-		b.setText("Refresh with NO-Scrolling");
-		b.addSelectionListener(new SelectionAdapter() {
-
-			public void widgetSelected(SelectionEvent e) {
-				v.getTable().setTopIndex(0);
-				IStructuredSelection selection = (IStructuredSelection) v
-						.getSelection();
-				v.getTable().deselectAll();
-				v.refresh();
-				if (!selection.isEmpty()) {
-					int[] indices = new int[selection.size()];
-
-					Iterator it = selection.iterator();
-					TableItem[] items = v.getTable().getItems();
-					Object modelElement;
-
-					int counter = 0;
-					while (it.hasNext()) {
-						modelElement = it.next();
-						for (int i = 0; i < items.length; i++) {
-							if (items[i].getData() == modelElement) {
-								indices[counter++] = i;
-							}
-						}
-					}
-
-					if (counter < indices.length) {
-						System.arraycopy(items, 0, indices = new int[counter],
-								0, counter);
-					}
-
-					v.getTable().select(indices);
-				}
-			}
-
-		});
-	}
-
-	private ArrayList createModel(int size) {
-		ArrayList elements = new ArrayList();
-
-		for (int i = 0; i < size; i++) {
-			elements.add(new MyModel(i));
-		}
-
-		return elements;
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		new Snippet022TableViewerRefreshNoScroll(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet024TableViewerExploreNewAPI.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet024TableViewerExploreNewAPI.java
deleted file mode 100644
index c6f1a46..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet024TableViewerExploreNewAPI.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.EditingSupport;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TableViewerColumn;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Example usage of ITableLabelProvider using images and labels
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
- */
-public class Snippet024TableViewerExploreNewAPI {
-
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		public Object[] getElements(Object inputElement) {
-			return (Person[]) inputElement;
-		}
-
-		public void dispose() {
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-
-	}
-
-	public class Person {
-		public String givenname;
-		public String surname;
-		public String email;
-
-		public Person(String givenname, String surname, String email) {
-			this.givenname = givenname;
-			this.surname = surname;
-			this.email = email;
-		}
-
-	}
-
-	protected abstract class AbstractEditingSupport extends EditingSupport {
-		private TextCellEditor editor;
-
-		public AbstractEditingSupport(TableViewer viewer) {
-			super(viewer);
-			this.editor = new TextCellEditor(viewer.getTable());
-		}
-
-		protected boolean canEdit(Object element) {
-			return true;
-		}
-
-		protected CellEditor getCellEditor(Object element) {
-			return editor;
-		}
-
-		protected void setValue(Object element, Object value) {
-			doSetValue(element, value);
-			getViewer().update(element, null);
-		}
-
-		protected abstract void doSetValue(Object element, Object value);
-	}
-
-	public Snippet024TableViewerExploreNewAPI(Shell shell) {
-		TableViewer v = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
-		v.setContentProvider(new MyContentProvider());
-
-		TableViewerColumn column = new TableViewerColumn(v, SWT.NONE);
-		column.getColumn().setWidth(200);
-		column.getColumn().setText("Givenname");
-		column.getColumn().setMoveable(true);
-		column.setLabelProvider(new ColumnLabelProvider() {
-
-			public String getText(Object element) {
-				return ((Person) element).givenname;
-			}
-		});
-
-		column.setEditingSupport(new AbstractEditingSupport(v) {
-
-			protected Object getValue(Object element) {
-				return ((Person) element).givenname;
-			}
-
-			protected void doSetValue(Object element, Object value) {
-				((Person) element).givenname = value.toString();
-			}
-
-		});
-
-		column = new TableViewerColumn(v, SWT.NONE);
-		column.getColumn().setWidth(200);
-		column.getColumn().setText("Surname");
-		column.getColumn().setMoveable(true);
-		column.setLabelProvider(new ColumnLabelProvider() {
-
-			public String getText(Object element) {
-				return ((Person) element).surname;
-			}
-
-		});
-
-		column.setEditingSupport(new AbstractEditingSupport(v) {
-
-			protected Object getValue(Object element) {
-				return ((Person) element).surname;
-			}
-
-			protected void doSetValue(Object element, Object value) {
-				((Person) element).surname = value.toString();
-			}
-
-		});
-
-		column = new TableViewerColumn(v, SWT.NONE);
-		column.getColumn().setWidth(200);
-		column.getColumn().setText("E-Mail");
-		column.getColumn().setMoveable(true);
-		column.setLabelProvider(new ColumnLabelProvider() {
-
-			public String getText(Object element) {
-				return ((Person) element).email;
-			}
-
-		});
-
-		column.setEditingSupport(new AbstractEditingSupport(v) {
-
-			protected Object getValue(Object element) {
-				return ((Person) element).email;
-			}
-
-			protected void doSetValue(Object element, Object value) {
-				((Person) element).email = value.toString();
-			}
-
-		});
-
-		Person[] model = createModel();
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-		v.getTable().setHeaderVisible(true);
-	}
-
-	private Person[] createModel() {
-		Person[] elements = new Person[4];
-		elements[0] = new Person("Tom", "Schindl",
-				"tom.schindl@bestsolution.at");
-		elements[1] = new Person("Boris", "Bokowski",
-				"Boris_Bokowski@ca.ibm.com");
-		elements[2] = new Person("Tod", "Creasey", "Tod_Creasey@ca.ibm.com");
-		elements[3] = new Person("Wayne", "Beaton", "wayne@eclipse.org");
-
-		return elements;
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet024TableViewerExploreNewAPI(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet025TabEditing.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet025TabEditing.java
deleted file mode 100644
index 3dc21a8..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet025TabEditing.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnViewerEditor;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy;
-import org.eclipse.jface.viewers.EditingSupport;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewerEditor;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-
-/**
- * Edit cell values in a table
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- *
- */
-public class Snippet025TabEditing {
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return (MyModel[])inputElement;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-			
-		}
-
-		/* (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) {
-			
-		}
-		
-	}
-	
-	public class MyModel {
-		public int counter;
-		
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-		
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-	
-	public Snippet025TabEditing(Shell shell) {
-		final TableViewer v = new TableViewer(shell,SWT.BORDER|SWT.FULL_SELECTION);
-		TableColumn tc = new TableColumn(v.getTable(),SWT.NONE);
-		tc.setWidth(100);
-		tc.setText("Column 1");
-		
-		tc = new TableColumn(v.getTable(),SWT.NONE);
-		tc.setWidth(200);
-		tc.setText("Column 2");
-		
-		v.setLabelProvider(new LabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		v.setCellModifier(new ICellModifier() {
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object, java.lang.String)
-			 */
-			public boolean canModify(Object element, String property) {
-				return ((MyModel)element).counter % 2 == 0;
-			}
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object, java.lang.String)
-			 */
-			public Object getValue(Object element, String property) {
-				return ((MyModel)element).counter + "";
-			}
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object, java.lang.String, java.lang.Object)
-			 */
-			public void modify(Object element, String property, Object value) {
-				TableItem item = (TableItem)element;
-				((MyModel)item.getData()).counter = Integer.parseInt(value.toString());
-				v.update(item.getData(), null);
-			}
-			
-		});
-		
-		v.setColumnProperties(new String[] { "column1", "column2" });
-		v.setCellEditors(new CellEditor[] { new TextCellEditor(v.getTable()), new TextCellEditor(v.getTable()) });
-		TableViewerEditor.create(v,new ColumnViewerEditorActivationStrategy(v),ColumnViewerEditor.TABBING_HORIZONTAL|ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR|ColumnViewerEditor.TABBING_VERTICAL);
-		
-		MyModel[] model = createModel();
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-	}
-	
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[10];
-		
-		for( int i = 0; i < 10; i++ ) {
-			elements[i] = new MyModel(i);
-		}
-		
-		return elements;
-	}
-	
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display ();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet025TabEditing(shell);
-		shell.open ();
-		
-		while (!shell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		
-		display.dispose ();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet026TreeViewerTabEditing.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet026TreeViewerTabEditing.java
deleted file mode 100644
index f3e2562..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet026TreeViewerTabEditing.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.CellNavigationStrategy;
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.ColumnViewerEditor;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy;
-import org.eclipse.jface.viewers.EditingSupport;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent;
-import org.eclipse.jface.viewers.FocusCellOwnerDrawHighlighter;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.jface.viewers.TreeViewerFocusCellManager;
-import org.eclipse.jface.viewers.TreeViewerEditor;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.TreeViewerColumn;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A simple TreeViewer to demonstrate usage
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
- */
-public class Snippet026TreeViewerTabEditing {
-	public Snippet026TreeViewerTabEditing(final Shell shell) {
-		Button b = new Button(shell,SWT.PUSH);
-		b.setText("BBB");
-		final TreeViewer v = new TreeViewer(shell, SWT.BORDER
-				| SWT.FULL_SELECTION);
-		v.getTree().setLinesVisible(true);
-		v.getTree().setHeaderVisible(true);
-		b.addSelectionListener(new SelectionListener() {
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				MyModel root = (MyModel)v.getInput();
-				TreePath path = new TreePath(new Object[]{root,root.child.get(1), ((MyModel)root.child.get(1)).child.get(0)});
-				v.editElement(path, 0);
-				// v.editElement(root.child.get(0), 0);
-			}
-			
-		});
-		
-		 
-		TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v,new FocusCellOwnerDrawHighlighter(v));
-		ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) {
-			protected boolean isEditorActivationEvent(
-					ColumnViewerEditorActivationEvent event) {
-				return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
-						|| event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
-						|| (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR)
-						|| event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
-			}
-		};
-		
-		TreeViewerEditor.create(v, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL
-				| ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
-				| ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);
-		
-		final TextCellEditor textCellEditor = new TextCellEditor(v.getTree());
-
-		TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE);
-		column.getColumn().setWidth(200);
-		column.getColumn().setText("Column 1");
-		column.setLabelProvider(new ColumnLabelProvider() {
-
-			public String getText(Object element) {
-				return "Column 1 => " + element.toString();
-			}
-
-		});
-		column.setEditingSupport(new EditingSupport(v) {
-			protected boolean canEdit(Object element) {
-				return true;
-			}
-
-			protected CellEditor getCellEditor(Object element) {
-				return textCellEditor;
-			}
-
-			protected Object getValue(Object element) {
-				return ((MyModel) element).counter + "";
-			}
-
-			protected void setValue(Object element, Object value) {
-				((MyModel) element).counter = Integer
-						.parseInt(value.toString());
-				v.update(element, null);
-			}
-		});
-
-		column = new TreeViewerColumn(v, SWT.NONE);
-		column.getColumn().setWidth(200);
-		column.getColumn().setText("Column 2");
-		column.setLabelProvider(new ColumnLabelProvider() {
-
-			public String getText(Object element) {
-				return "Column 2 => " + element.toString();
-			}
-
-		});
-		column.setEditingSupport(new EditingSupport(v) {
-			protected boolean canEdit(Object element) {
-				return true;
-			}
-
-			protected CellEditor getCellEditor(Object element) {
-				return textCellEditor;
-			}
-
-			protected Object getValue(Object element) {
-				return ((MyModel) element).counter + "";
-			}
-
-			protected void setValue(Object element, Object value) {
-				((MyModel) element).counter = Integer
-						.parseInt(value.toString());
-				v.update(element, null);
-			}
-		});
-		
-		v.setContentProvider(new MyContentProvider());
-
-		v.setInput(createModel());
-	}
-
-	private MyModel createModel() {
-
-		MyModel root = new MyModel(0, null);
-		root.counter = 0;
-
-		MyModel tmp;
-		MyModel subItem;
-		for (int i = 1; i < 10; i++) {
-			tmp = new MyModel(i, root);
-			root.child.add(tmp);
-			for (int j = 1; j < i; j++) {
-				subItem = new MyModel(j, tmp);
-				subItem.child.add(new MyModel(j * 100, subItem));
-				tmp.child.add(subItem);
-			}
-		}
-
-		return root;
-	}
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet026TreeViewerTabEditing(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-	}
-
-	private class MyContentProvider implements ITreeContentProvider {
-
-		public Object[] getElements(Object inputElement) {
-			return ((MyModel) inputElement).child.toArray();
-		}
-
-		public void dispose() {
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-
-		public Object[] getChildren(Object parentElement) {
-			return getElements(parentElement);
-		}
-
-		public Object getParent(Object element) {
-			if (element == null) {
-				return null;
-			}
-			return ((MyModel) element).parent;
-		}
-
-		public boolean hasChildren(Object element) {
-			return ((MyModel) element).child.size() > 0;
-		}
-
-	}
-
-	public class MyModel {
-		public MyModel parent;
-
-		public ArrayList child = new ArrayList();
-
-		public int counter;
-
-		public MyModel(int counter, MyModel parent) {
-			this.parent = parent;
-			this.counter = counter;
-		}
-
-		public String toString() {
-			String rv = "Item ";
-			if (parent != null) {
-				rv = parent.toString() + ".";
-			}
-
-			rv += counter;
-
-			return rv;
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet027ComboBoxCellEditors.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet027ComboBoxCellEditors.java
deleted file mode 100644
index ba3204b..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet027ComboBoxCellEditors.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *     Dinko Ivanov - bug 164365
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-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.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-
-/**
- * This snippet represents usage of the ComboBoxCell-Editor
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
- */
-public class Snippet027ComboBoxCellEditors {
-	private class MyCellModifier implements ICellModifier {
-
-		private TableViewer viewer;
-
-		public MyCellModifier(TableViewer viewer) {
-			this.viewer = viewer;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object,
-		 *      java.lang.String)
-		 */
-		public boolean canModify(Object element, String property) {
-			return true;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object,
-		 *      java.lang.String)
-		 */
-		public Object getValue(Object element, String property) {
-			// We need to calculate back to the index
-			return new Integer(((MyModel) element).counter / 10);
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object,
-		 *      java.lang.String, java.lang.Object)
-		 */
-		public void modify(Object element, String property, Object value) {
-			TableItem item = (TableItem) element;
-			// We get the index and need to calculate the real value
-			((MyModel) item.getData()).counter = ((Integer) value).intValue() * 10;
-			viewer.update(item.getData(), null);
-		}
-	}
-
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return (MyModel[]) inputElement;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-
-		}
-
-		/*
-		 * (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) {
-
-		}
-
-	}
-
-	public class MyModel {
-		public int counter;
-
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-
-	public Snippet027ComboBoxCellEditors(Shell shell) {
-		final Table table = new Table(shell, SWT.BORDER | SWT.FULL_SELECTION);
-		final TableViewer v = new TableViewer(table);
-		final MyCellModifier modifier = new MyCellModifier(v);
-
-		TableColumn column = new TableColumn(table, SWT.NONE);
-		column.setWidth(200);
-
-		v.setLabelProvider(new LabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		v.setCellModifier(modifier);
-		v.setColumnProperties(new String[] { "column1" });
-		v.setCellEditors(new CellEditor[] { new ComboBoxCellEditor(
-				v.getTable(), new String[] { "Zero", "Ten", "Twenty", "Thirty",
-						"Fourty", "Fifty", "Sixty", "Seventy", "Eighty",
-						"Ninety" }) });
-
-		MyModel[] model = createModel();
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-	}
-
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[10];
-
-		for (int i = 0; i < 10; i++) {
-			elements[i] = new MyModel(i * 10);
-		}
-
-		return elements;
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet027ComboBoxCellEditors(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet029VirtualTableViewer.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet029VirtualTableViewer.java
deleted file mode 100644
index e3ece9c..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet029VirtualTableViewer.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-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.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A simple TableViewer to demonstrate the usage of a standard content provider
- * with a virtual table
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
- */
-public class Snippet029VirtualTableViewer {
-	private class MyContentProvider implements IStructuredContentProvider {
-		private MyModel[] elements;
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return elements;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-
-		}
-
-		/*
-		 * (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) {
-			this.elements = (MyModel[]) newInput;
-		}
-	}
-
-	public class MyModel {
-		public int counter;
-
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-
-	public Snippet029VirtualTableViewer(Shell shell) {
-		final TableViewer v = new TableViewer(shell, SWT.VIRTUAL);
-		v.setLabelProvider(new LabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		v.setUseHashlookup(true);
-		MyModel[] model = createModel();
-		v.setInput(model);
-
-		v.getTable().setLinesVisible(true);
-	}
-
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[10000];
-
-		for (int i = 0; i < 10000; i++) {
-			elements[i] = new MyModel(i);
-		}
-
-		return elements;
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet029VirtualTableViewer(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet030VirtualLazyTableViewer.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet030VirtualLazyTableViewer.java
deleted file mode 100644
index 89f0443..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet030VirtualLazyTableViewer.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.viewers.ILazyContentProvider;
-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.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A simple TableViewer to demonstrate usage of an ILazyContentProvider. You can
- * compare this snippet to the Snippet029VirtualTableViewer to see the small but
- * needed difference.
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
- */
-public class Snippet030VirtualLazyTableViewer {
-	private class MyContentProvider implements ILazyContentProvider {
-		private TableViewer viewer;
-		private MyModel[] elements;
-
-		public MyContentProvider(TableViewer viewer) {
-			this.viewer = viewer;
-		}
-
-		public void dispose() {
-
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			this.elements = (MyModel[]) newInput;
-		}
-
-		public void updateElement(int index) {
-			viewer.replace(elements[index], index);
-		}
-
-	}
-
-	public class MyModel {
-		public int counter;
-
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-
-	public Snippet030VirtualLazyTableViewer(Shell shell) {
-		final TableViewer v = new TableViewer(shell, SWT.VIRTUAL);
-		v.setLabelProvider(new LabelProvider());
-		v.setContentProvider(new MyContentProvider(v));
-		v.setUseHashlookup(true);
-		MyModel[] model = createModel();
-		v.setInput(model);
-		v.setItemCount(model.length); // This is the difference when using a
-		// ILazyContentProvider
-
-		v.getTable().setLinesVisible(true);
-	}
-
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[10000];
-
-		for (int i = 0; i < 10000; i++) {
-			elements[i] = new MyModel(i);
-		}
-
-		return elements;
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet030VirtualLazyTableViewer(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet031TableViewerCustomTooltipsMultiSelection.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet031TableViewerCustomTooltipsMultiSelection.java
deleted file mode 100644
index 116b133..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet031TableViewerCustomTooltipsMultiSelection.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Adam Neal and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Adam Neal - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-
-/**
- * A simple TableViewer to demonstrate how custom tooltips could be created easily while preserving 
- * the multiple selection.
- * 
- * This is a modified example taken from Tom Schindl's Snippet023TreeViewerCustomTooltips.java
- * 
- * This code is for users pre 3.3 others could use newly added tooltip support in {@link CellLabelProvider}
-
- * @author Adam Neal <Adam_Neal@ca.ibm.com>
- * 
- */
-public class Snippet031TableViewerCustomTooltipsMultiSelection {
-	public class MyLableProvider implements ITableLabelProvider {
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			if (element instanceof MyModel) {
-				switch (columnIndex) {
-					case 0: return ((MyModel)element).col1;
-					case 1: return ((MyModel)element).col2;
-				}
-			}
-			return "";
-		}
-
-		public void addListener(ILabelProviderListener listener) {
-			/* Ignore */
-		}
-
-		public void dispose() {
-			/* Ignore */
-		}
-
-		public boolean isLabelProperty(Object element, String property) {
-			return false;
-		}
-
-		public void removeListener(ILabelProviderListener listener) {
-			/* Ignore */
-		}
-		
-	}
-	
-	public class MyModel {
-		public String col1, col2;
-
-		public MyModel(String c1, String c2) {
-			col1 = c1;
-			col2 = c2;
-		}
-		
-		public String toString() {
-			return col1 + col2;
-		}
-
-	}
-
-	public Snippet031TableViewerCustomTooltipsMultiSelection(Shell shell) {
-		final Table table = new Table(shell, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
-		table.setHeaderVisible(true);
-        table.setLinesVisible(true);
-        
-		final TableViewer v = new TableViewer(table);
-		TableColumn tableColumn1 = new TableColumn(table, SWT.NONE);
-		TableColumn tableColumn2 = new TableColumn(table, SWT.NONE);
-		
-		String column1 = "Column 1", column2 = "Column 2";
-		/* Setup the table  columns */
-        tableColumn1.setText(column1);
-        tableColumn2.setText(column2);
-        tableColumn1.pack();
-        tableColumn2.pack();
-        
-        v.setColumnProperties(new String[] { column1, column2 });
-		v.setLabelProvider(new MyLableProvider());
-		v.setContentProvider(new ArrayContentProvider());
-		v.setInput(createModel());
-		
-		/**
-	     * The listener that gets added to the table.  This listener is responsible for creating the tooltips
-	     * when hovering over a cell item. This listener will listen for the following events:
-	     *  <li>SWT.KeyDown		- to remove the tooltip</li>
-	     *  <li>SWT.Dispose		- to remove the tooltip</li>
-	     *  <li>SWT.MouseMove	- to remove the tooltip</li>
-	     *  <li>SWT.MouseHover	- to set the tooltip</li>
-	     */
-	    Listener tableListener = new Listener () {
-	    	Shell tooltip = null;
-	    	Label label = null;
-	    	
-	    	/*
-	    	 * (non-Javadoc)
-	    	 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-	    	 */
-	    	public void handleEvent (Event event) {
-			   switch (event.type) {
-				   	case SWT.KeyDown:
-				   	case SWT.Dispose:
-				   	case SWT.MouseMove: {
-				   		if (tooltip == null) break;
-				   		tooltip.dispose ();
-				   		tooltip = null;
-				   		label = null;
-				   		break;
-				   	}
-				   	case SWT.MouseHover: {
-				   		Point coords = new Point(event.x, event.y);
-						TableItem item = table.getItem(coords);
-				   		if (item != null) {
-				   			int columnCount = table.getColumnCount();
-							for (int columnIndex = 0; columnIndex < columnCount; columnIndex++) {
-				   				if (item.getBounds(columnIndex).contains(coords)) {
-				   					/* Dispose of the old tooltip (if one exists */
-				   					if (tooltip != null  && !tooltip.isDisposed ()) tooltip.dispose ();
-				   					
-				   					/* Create a new Tooltip */
-				   					tooltip = new Shell (table.getShell(), SWT.ON_TOP | SWT.NO_FOCUS | SWT.TOOL);
-				   					tooltip.setBackground (table.getDisplay().getSystemColor (SWT.COLOR_INFO_BACKGROUND));
-				   					FillLayout layout = new FillLayout ();
-				   					layout.marginWidth = 2;
-				   					tooltip.setLayout (layout);
-				   					label = new Label (tooltip, SWT.NONE);
-				   					label.setForeground (table.getDisplay().getSystemColor (SWT.COLOR_INFO_FOREGROUND));
-				   					label.setBackground (table.getDisplay().getSystemColor (SWT.COLOR_INFO_BACKGROUND));
-				   					
-				   					/* Store the TableItem with the label so we can pass the mouse event later */
-				   					label.setData ("_TableItem_", item);
-				   					
-				   					/* Set the tooltip text */
-			   						label.setText("Tooltip: " + item.getData() + " : " + columnIndex);
-			   						
-			   						/* Setup Listeners to remove the tooltip and transfer the received mouse events */
-				   					label.addListener (SWT.MouseExit, tooltipLabelListener);
-				   					label.addListener (SWT.MouseDown, tooltipLabelListener);
-				   					
-				   					/* Set the size and position of the tooltip */
-				   					Point size = tooltip.computeSize (SWT.DEFAULT, SWT.DEFAULT);
-				   					Rectangle rect = item.getBounds (columnIndex);
-				   					Point pt = table.toDisplay (rect.x, rect.y);
-				   					tooltip.setBounds (pt.x, pt.y, size.x, size.y);
-				   					
-				   					/* Show it */
-				   					tooltip.setVisible (true);
-				   					break;
-				   				}
-				   			}
-				   		}
-				   	}
-			   }
-	    	}
-		};
-		
-		table.addListener (SWT.Dispose, tableListener);
-		table.addListener (SWT.KeyDown, tableListener);
-		table.addListener (SWT.MouseMove, tableListener);
-		table.addListener (SWT.MouseHover, tableListener);
-	}
-	
-	   /**
-	    * This listener is added to the tooltip so that it can either dispose itself if the mouse
-	    * exits the tooltip or so it can pass the selection event through to the table.
-	    */
-	    final TooltipLabelListener tooltipLabelListener = new TooltipLabelListener();
-	    final class TooltipLabelListener implements Listener {
-	        private boolean isCTRLDown(Event e) {
-	        	return (e.stateMask & SWT.CTRL) != 0;
-	        }
-		   /*
-		    * (non-Javadoc)
-		    * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-		    */
-		   public void handleEvent (Event event) {
-			   Label label = (Label)event.widget;
-			   Shell shell = label.getShell ();
-			   switch (event.type) {
-				   	case SWT.MouseDown:	/* Handle a user Click */
-				   		/* Extract our Data */
-				   		Event e = new Event ();
-				   		e.item = (TableItem) label.getData ("_TableItem_");
-				   		Table table = ((TableItem) e.item).getParent();
-				   		
-				   		/* Construct the new Selection[] to show */
-				   		TableItem [] newSelection = null;
-				   		if (isCTRLDown(event)) {
-				   			/* We have 2 scenario's.  
-				   			 * 	1) We are selecting an already selected element - so remove it from the selected indices
-				   			 *  2) We are selecting a non-selected element - so add it to the selected indices
-				   			 */
-				   			TableItem[] sel = table.getSelection();
-				   			for (int i = 0; i < sel.length; ++i) {
-				   				if (e.item.equals(sel[i])) {
-				   					// We are de-selecting this element
-				   					newSelection = new TableItem[sel.length - 1];
-				   					System.arraycopy(sel, 0, newSelection, 0, i);
-				   					System.arraycopy(sel, i+1, newSelection, i, sel.length - i - 1);
-				   					break;
-				   				}
-		   					}
-				   			
-				   			/*
-				   			 * If we haven't created the newSelection[] yet, than we are adding the newly selected element
-				   			 * into the list of selected indicies
-				   			 */
-				   			if (newSelection == null) {
-				   				newSelection = new TableItem[sel.length + 1];
-				   				System.arraycopy(sel, 0, newSelection, 0, sel.length);
-				   				newSelection[sel.length] = (TableItem) e.item;
-				   			}
-				   			
-				   		} else {
-				   			/* CTRL is not down, so we simply select the single element */
-				   			newSelection = new TableItem[] { (TableItem) e.item };
-				   		}
-				   		/* Set the new selection of the table and notify the listeners */
-				   		table.setSelection (newSelection);
-				   		table.notifyListeners (SWT.Selection, e);
-				   		
-				   		/* Remove the Tooltip */
-				   		shell.dispose ();
-				   		table.setFocus();
-				   		break;
-				   	case SWT.MouseExit:
-				   		shell.dispose ();
-				   		break;
-			   }
-	    }};
-	    	
-	    
-		
-	private List createModel() {
-		ArrayList list = new ArrayList();
-		list.add(new MyModel("A", "B"));
-		list.add(new MyModel("C", "D"));
-		list.add(new MyModel("E", "F"));
-		return list;
-	}
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet031TableViewerCustomTooltipsMultiSelection(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet032TableTreeViewer.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet032TableTreeViewer.java
deleted file mode 100644
index ae135ac..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet032TableTreeViewer.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.resource.FontRegistry;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ITableColorProvider;
-import org.eclipse.jface.viewers.ITableFontProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableTreeViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-
-/**
- * A simple TreeViewer to demonstrate usage
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
- */
-public class Snippet032TableTreeViewer {
-	private class MyContentProvider implements ITreeContentProvider {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return ((MyModel) inputElement).child.toArray();
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-
-		}
-
-		/*
-		 * (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) {
-
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-		 */
-		public Object[] getChildren(Object parentElement) {
-			return getElements(parentElement);
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
-		 */
-		public Object getParent(Object element) {
-			if (element == null) {
-				return null;
-			}
-
-			return ((MyModel) element).parent;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-		 */
-		public boolean hasChildren(Object element) {
-			return ((MyModel) element).child.size() > 0;
-		}
-
-	}
-
-	public class MyModel {
-		public MyModel parent;
-
-		public ArrayList child = new ArrayList();
-
-		public int counter;
-
-		public MyModel(int counter, MyModel parent) {
-			this.parent = parent;
-			this.counter = counter;
-		}
-
-		public String toString() {
-			String rv = "Item ";
-			if (parent != null) {
-				rv = parent.toString() + ".";
-			}
-
-			rv += counter;
-
-			return rv;
-		}
-	}
-
-	public class MyLabelProvider extends LabelProvider implements
-			ITableLabelProvider, ITableFontProvider, ITableColorProvider {
-		FontRegistry registry = new FontRegistry();
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			return "Column " + columnIndex + " => " + element.toString();
-		}
-
-		public Font getFont(Object element, int columnIndex) {
-			if (((MyModel) element).counter % 2 == 0) {
-				return registry.getBold(Display.getCurrent().getSystemFont()
-						.getFontData()[0].getName());
-			}
-			return null;
-		}
-
-		public Color getBackground(Object element, int columnIndex) {
-			if (((MyModel) element).counter % 2 == 0) {
-				return Display.getCurrent().getSystemColor(SWT.COLOR_RED);
-			}
-			return null;
-		}
-
-		public Color getForeground(Object element, int columnIndex) {
-			if (((MyModel) element).counter % 2 == 1) {
-				return Display.getCurrent().getSystemColor(SWT.COLOR_RED);
-			}
-			return null;
-		}
-
-	}
-	
-	private class MyModifier implements ICellModifier {
-		private TableTreeViewer v;
-		
-		public MyModifier(TableTreeViewer v) {
-			this.v = v;
-		}
-		
-		public boolean canModify(Object element, String property) {
-			return true;
-		}
-
-		public Object getValue(Object element, String property) {
-			return ((MyModel)element).counter + "";
-		}
-
-		public void modify(Object element, String property, Object value) {
-			((MyModel)((Item)element).getData()).counter = Integer.parseInt(value.toString());
-			v.update(((Item)element).getData(), null);
-		}
-		
-	}
-
-	public Snippet032TableTreeViewer(Shell shell) {
-		final TableTreeViewer v = new TableTreeViewer(shell, SWT.FULL_SELECTION);
-		
-		TableColumn column = new TableColumn(v.getTableTree().getTable(),SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 1");
-		
-		column = new TableColumn(v.getTableTree().getTable(),SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 2");
-		
-		v.getTableTree().getTable().setHeaderVisible(true);
-		v.getTableTree().getTable().setLinesVisible(true);
-		
-		v.setCellEditors(new CellEditor[] { new TextCellEditor(v.getTableTree().getTable()), new TextCellEditor(v.getTableTree().getTable()) });
-		v.setColumnProperties(new String[] { "column1", "column2" });
-		v.setCellModifier(new MyModifier(v));
-		
-		v.setLabelProvider(new MyLabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		v.setInput(createModel());
-	}
-
-	private MyModel createModel() {
-
-		MyModel root = new MyModel(0, null);
-		root.counter = 0;
-
-		MyModel tmp;
-		for (int i = 1; i < 10; i++) {
-			tmp = new MyModel(i, root);
-			root.child.add(tmp);
-			for (int j = 1; j < i; j++) {
-				tmp.child.add(new MyModel(j, tmp));
-			}
-		}
-
-		return root;
-	}
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet032TableTreeViewer(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet033CellEditorPerRowPre33.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet033CellEditorPerRowPre33.java
deleted file mode 100644
index 7589284..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet033CellEditorPerRowPre33.java
+++ /dev/null
@@ -1,344 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.CheckboxCellEditor;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.ICellEditorListener;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-
-/**
- * Snippet to present editor different CellEditors within one column in 3.2
- * for 3.3 and above please use the new EditingSupport class
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
- */
-public class Snippet033CellEditorPerRowPre33 {
-	private class MyCellModifier implements ICellModifier {
-		
-		private TableViewer viewer;
-		
-		private boolean enabled = true;
-
-		public void setViewer(TableViewer viewer) {
-			this.viewer = viewer;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object,
-		 *      java.lang.String)
-		 */
-		public boolean canModify(Object element, String property) {
-			return true;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object,
-		 *      java.lang.String)
-		 */
-		public Object getValue(Object element, String property) {
-			if( element instanceof MyModel3 ) {
-				return new Boolean(((MyModel3)element).checked);
-			} else if( element instanceof MyModel2 ) {
-				return new Integer(((MyModel) element).counter);
-			} else {
-				return ((MyModel) element).counter + "";
-			}
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object,
-		 *      java.lang.String, java.lang.Object)
-		 */
-		public void modify(Object element, String property, Object value) {
-			TableItem item = (TableItem) element;
-			
-			if( item.getData() instanceof MyModel3 ) {
-				((MyModel3) item.getData()).checked=((Boolean)value).booleanValue();
-			} else {
-				((MyModel) item.getData()).counter = Integer.parseInt(value
-						.toString());
-			}
-			
-			viewer.update(item.getData(), null);
-		}
-	}
-	
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return (MyModel[]) inputElement;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-
-		}
-
-		/*
-		 * (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) {
-
-		}
-
-	}
-
-	public class MyModel {
-		public int counter;
-
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-
-	public class MyModel2 extends MyModel {
-
-		public MyModel2(int counter) {
-			super(counter);
-		}
-
-		public String toString() {
-			return "Special Item " + this.counter;
-		}
-	}
-	
-	public class MyModel3 extends MyModel {
-		public boolean checked;
-		
-		public MyModel3(int counter) {
-			super(counter);
-		}
-
-		public String toString() {
-			return "Special Item " + this.counter;
-		}
-	}
-	
-	
-	public class DelegatingEditor extends CellEditor {
-		
-		private StructuredViewer viewer;
-		
-		private CellEditor delegatingTextEditor;
-		
-		private CellEditor delegatingDropDownEditor;
-		
-		private CellEditor activeEditor;
-		
-		private CellEditor delegatingCheckBoxEditor;
-		
-		private class DelegatingListener implements ICellEditorListener {
-
-			public void applyEditorValue() {
-				fireApplyEditorValue();
-			}
-
-			public void cancelEditor() {
-				fireCancelEditor();
-			}
-
-			public void editorValueChanged(boolean oldValidState,
-					boolean newValidState) {
-				fireEditorValueChanged(oldValidState, newValidState);
-			}
-			
-		}
-		
-		public DelegatingEditor(StructuredViewer viewer, Composite parent) {
-			super(parent);
-			this.viewer = viewer;
-			DelegatingListener l = new DelegatingListener();
-			this.delegatingTextEditor = new TextCellEditor(parent);
-			this.delegatingTextEditor.addListener(l);
-			
-			String[] elements = new String[10];
-			
-			for (int i = 0; i < 10; i++) {
-				elements[i] = i+"";
-			}
-			
-			this.delegatingDropDownEditor = new ComboBoxCellEditor(parent,elements);
-			this.delegatingDropDownEditor.addListener(l);
-			
-			this.delegatingCheckBoxEditor = new CheckboxCellEditor(parent);
-			this.delegatingCheckBoxEditor.addListener(l);
-		}
-		
-		protected Control createControl(Composite parent) {
-			return null;
-		}
-
-		protected Object doGetValue() {
-			return activeEditor.getValue();
-		}
-
-		protected void doSetFocus() {
-			activeEditor.setFocus();
-		}
-
-		public void activate() {
-			if( activeEditor != null ) {
-				activeEditor.activate();
-			}
-		}
-
-		protected void doSetValue(Object value) {
-			
-			if( ((IStructuredSelection)this.viewer.getSelection()).getFirstElement() instanceof MyModel3 ) {
-				activeEditor = delegatingCheckBoxEditor;
-			} else if( ((IStructuredSelection)this.viewer.getSelection()).getFirstElement() instanceof MyModel2 ) {
-				activeEditor = delegatingDropDownEditor;
-			} else {
-				activeEditor = delegatingTextEditor;
-			}
-			
-			activeEditor.setValue(value);
-		}
-		
-		public void deactivate() {
-			if( activeEditor != null ) {
-				Control control = activeEditor.getControl();
-				if (control != null && !control.isDisposed()) {
-					control.setVisible(false);
-				}
-			}
-		}
-		
-		public void dispose() {
-			
-		}
-		
-		public Control getControl() {
-			return activeEditor.getControl();
-		}
-	}
-	
-	public Snippet033CellEditorPerRowPre33(Shell shell) {
-		final Table table = new Table(shell, SWT.BORDER | SWT.FULL_SELECTION);
-		final MyCellModifier modifier = new MyCellModifier();
-		
-		final TableViewer v = new TableViewer(table);
-		modifier.setViewer(v);
-		
-		TableColumn column = new TableColumn(table, SWT.NONE);
-		column.setWidth(200);
-
-		v.setLabelProvider(new MyLabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		v.setCellModifier(modifier);
-		v.setColumnProperties(new String[] { "column1" });
-		v.setCellEditors(new CellEditor[] { new DelegatingEditor(v,v.getTable()) });
-
-		MyModel[] model = createModel();
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-	}
-
-	private class MyLabelProvider extends LabelProvider {
-		public Image getImage(Object element) {
-			if( element instanceof MyModel3 ) {
-				if( ((MyModel3)element).checked ) {
-					return JFaceResources.getImage("IMG_1");
-				} else {
-					return JFaceResources.getImage("IMG_2");
-				}
-				
-			}
-			return super.getImage(element);
-		}
-		
-	}
-	
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[30];
-
-		for (int i = 0; i < 10; i++) {
-			elements[i] = new MyModel3(i);
-		}
-		
-		for (int i = 0; i < 10; i++) {
-			elements[i+10] = new MyModel(i);
-		}
-
-		for (int i = 0; i < 10; i++) {
-			elements[i+20] = new MyModel2(i);
-		}
-		
-		return elements;
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-		JFaceResources.getImageRegistry().put("IMG_1", ImageDescriptor.createFromURL(Snippet033CellEditorPerRowPre33.class.getClassLoader().getResource("org/eclipse/jface/snippets/dialogs/cancel.png")));
-		JFaceResources.getImageRegistry().put("IMG_2", ImageDescriptor.createFromURL(Snippet033CellEditorPerRowPre33.class.getClassLoader().getResource("org/eclipse/jface/snippets/dialogs/filesave.png")));
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet033CellEditorPerRowPre33(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet034CellEditorPerRowNewAPI.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet034CellEditorPerRowNewAPI.java
deleted file mode 100644
index 4dfacf2..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet034CellEditorPerRowNewAPI.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
- *     Wayne Beaton - bug 185540
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.EditingSupport;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TableViewerColumn;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-
-/**
- * Snippet to present editor different CellEditors within one column in 3.2
- * for 3.3 and above please use the new EditingSupport class
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
- */
-public class Snippet034CellEditorPerRowNewAPI {
-	private class MyEditingSupport extends EditingSupport {
-		private CellEditor textEditor;
-		
-		private CellEditor dropDownEditor;
-		
-		public MyEditingSupport(TableViewer viewer) {
-			super(viewer);
-			textEditor = new TextCellEditor(viewer.getTable());
-			
-			String[] elements = new String[10];
-			
-			for (int i = 0; i < 10; i++) {
-				elements[i] = i+"";
-			}
-			
-			dropDownEditor = new ComboBoxCellEditor(viewer.getTable(),elements);
-		}
-
-		protected boolean canEdit(Object element) {
-			return ((MyModel) element).counter % 2 == 0;
-		}
-
-		protected CellEditor getCellEditor(Object element) {
-			if( element instanceof MyModel2 ) {
-				return dropDownEditor;
-			} else {
-				return textEditor;
-			}
-		}
-
-		protected Object getValue(Object element) {
-			if( element instanceof MyModel2 ) {
-				return new Integer(((MyModel) element).counter);
-			} else {
-				return ((MyModel) element).counter + "";
-			}
-		}
-
-		protected void setValue(Object element, Object value) {
-			((MyModel)element).counter = Integer.parseInt(value.toString());
-			getViewer().update(element, null);
-		}
-		
-	}
-	
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return (MyModel[]) inputElement;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-
-		}
-
-		/*
-		 * (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) {
-
-		}
-
-	}
-
-	public class MyModel {
-		public int counter;
-
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-
-	public class MyModel2 extends MyModel {
-
-		public MyModel2(int counter) {
-			super(counter);
-		}
-
-		public String toString() {
-			return "Special Item " + this.counter;
-		}
-	}
-	
-	public Snippet034CellEditorPerRowNewAPI(Shell shell) {
-		final Table table = new Table(shell, SWT.BORDER | SWT.FULL_SELECTION);
-		
-		final TableViewer v = new TableViewer(table);
-		v.getTable().setLinesVisible(true);
-		
-		TableViewerColumn column = new TableViewerColumn(v, SWT.NONE);
-		column.getColumn().setWidth(200);
-		column.setLabelProvider(new ColumnLabelProvider() {
-
-			public String getText(Object element) {
-				return element.toString();
-			}
-			
-		});
-		
-		column.setEditingSupport(new MyEditingSupport(v));
-		
-		v.setContentProvider(new MyContentProvider());
-		
-		MyModel[] model = createModel();
-		v.setInput(model);
-	}
-
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[20];
-
-		for (int i = 0; i < 10; i++) {
-			elements[i] = new MyModel(i);
-		}
-
-		for (int i = 0; i < 10; i++) {
-			elements[i+10] = new MyModel2(i);
-		}
-		
-		return elements;
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet034CellEditorPerRowNewAPI(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet035TableCursorCellHighlighter.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet035TableCursorCellHighlighter.java
deleted file mode 100644
index 8500604..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet035TableCursorCellHighlighter.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.resource.FontRegistry;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnViewerEditor;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableColorProvider;
-import org.eclipse.jface.viewers.ITableFontProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TableViewerEditor;
-import org.eclipse.jface.viewers.TableViewerFocusCellManager;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-
-/**
- * Example usage of none mandatory interfaces of ITableFontProvider and
- * ITableColorProvider
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
- */
-public class Snippet035TableCursorCellHighlighter {
-
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return (MyModel[]) inputElement;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-
-		}
-
-		/*
-		 * (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) {
-
-		}
-
-	}
-
-	public static boolean flag = true;
-	
-	public class MyModel {
-		public int counter;
-
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-
-	public class MyLabelProvider extends LabelProvider implements
-			ITableLabelProvider, ITableFontProvider, ITableColorProvider {
-		FontRegistry registry = new FontRegistry();
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			return "Column " + columnIndex + " => " + element.toString();
-		}
-
-		public Font getFont(Object element, int columnIndex) {
-			if (((MyModel) element).counter % 2 == 0) {
-				return registry.getBold(Display.getCurrent().getSystemFont()
-						.getFontData()[0].getName());
-			}
-			return null;
-		}
-
-		public Color getBackground(Object element, int columnIndex) {
-			if (((MyModel) element).counter % 2 == 0) {
-				return Display.getCurrent().getSystemColor(SWT.COLOR_RED);
-			}
-			return null;
-		}
-
-		public Color getForeground(Object element, int columnIndex) {
-			if (((MyModel) element).counter % 2 == 1) {
-				return Display.getCurrent().getSystemColor(SWT.COLOR_RED);
-			}
-			return null;
-		}
-
-	}
-
-	public Snippet035TableCursorCellHighlighter(Shell shell) {
-		final TableViewer v = new TableViewer(shell, SWT.BORDER|SWT.HIDE_SELECTION|SWT.FULL_SELECTION);
-		v.setLabelProvider(new MyLabelProvider());
-		v.setContentProvider(new MyContentProvider());
-
-		v.setCellEditors(new CellEditor[] { new TextCellEditor(v.getTable()), new TextCellEditor(v.getTable()) });
-		v.setCellModifier(new ICellModifier() {
-
-			public boolean canModify(Object element, String property) {
-				return true;
-			}
-
-			public Object getValue(Object element, String property) {
-				return "Column " + property + " => " + element.toString();
-			}
-
-			public void modify(Object element, String property, Object value) {
-				
-			}
-			
-		});
-		
-		v.setColumnProperties(new String[] {"1","2"});
-		
-		TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(v,new CursorCellHighlighter(v,new TableCursor(v)));
-		ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) {
-			protected boolean isEditorActivationEvent(
-					ColumnViewerEditorActivationEvent event) {
-				return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
-						|| event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
-						|| (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR)
-						|| event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
-			}
-		};
-		
-		TableViewerEditor.create(v, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL
-				| ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
-				| ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);
-
-		
-		TableColumn column = new TableColumn(v.getTable(), SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 1");
-
-		column = new TableColumn(v.getTable(), SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 2");
-
-		MyModel[] model = createModel();
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-		v.getTable().setHeaderVisible(true);
-	}
-
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[10];
-
-		for (int i = 0; i < 10; i++) {
-			elements[i] = new MyModel(i);
-		}
-
-		return elements;
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet035TableCursorCellHighlighter(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet036FocusBorderCellHighlighter.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet036FocusBorderCellHighlighter.java
deleted file mode 100644
index d127a36..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet036FocusBorderCellHighlighter.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.resource.FontRegistry;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnViewerEditor;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent;
-import org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableColorProvider;
-import org.eclipse.jface.viewers.ITableFontProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TableViewerEditor;
-import org.eclipse.jface.viewers.TableViewerFocusCellManager;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-
-/**
- * Example of a different focus cell rendering with a simply focus border
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
- */
-public class Snippet036FocusBorderCellHighlighter {
-
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return (MyModel[]) inputElement;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-
-		}
-
-		/*
-		 * (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) {
-
-		}
-
-	}
-
-	public static boolean flag = true;
-	
-	public class MyModel {
-		public int counter;
-
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-
-	public class MyLabelProvider extends LabelProvider implements
-			ITableLabelProvider, ITableFontProvider, ITableColorProvider {
-		FontRegistry registry = new FontRegistry();
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			return "Column " + columnIndex + " => " + element.toString();
-		}
-
-		public Font getFont(Object element, int columnIndex) {
-			return null;
-		}
-
-		public Color getBackground(Object element, int columnIndex) {
-			return null;
-		}
-
-		public Color getForeground(Object element, int columnIndex) {
-			return null;
-		}
-
-	}
-
-	public Snippet036FocusBorderCellHighlighter(Shell shell) {
-		final TableViewer v = new TableViewer(shell, SWT.BORDER|SWT.HIDE_SELECTION|SWT.FULL_SELECTION);
-		v.setLabelProvider(new MyLabelProvider());
-		v.setContentProvider(new MyContentProvider());
-
-		v.setCellEditors(new CellEditor[] { new TextCellEditor(v.getTable()), new TextCellEditor(v.getTable()) });
-		v.setCellModifier(new ICellModifier() {
-
-			public boolean canModify(Object element, String property) {
-				return true;
-			}
-
-			public Object getValue(Object element, String property) {
-				return "Column " + property + " => " + element.toString();
-			}
-
-			public void modify(Object element, String property, Object value) {
-				
-			}
-			
-		});
-		
-		v.setColumnProperties(new String[] {"1","2"});
-		
-		TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(v,new FocusBorderCellHighlighter(v));
-		ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) {
-			protected boolean isEditorActivationEvent(
-					ColumnViewerEditorActivationEvent event) {
-				return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
-						|| event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
-						|| (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR)
-						|| event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
-			}
-		};
-		
-		TableViewerEditor.create(v, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL
-				| ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
-				| ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);
-
-		
-		TableColumn column = new TableColumn(v.getTable(), SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 1");
-
-		column = new TableColumn(v.getTable(), SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 2");
-
-		MyModel[] model = createModel();
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-		v.getTable().setHeaderVisible(true);
-	}
-
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[10];
-
-		for (int i = 0; i < 10; i++) {
-			elements[i] = new MyModel(i);
-		}
-
-		return elements;
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet036FocusBorderCellHighlighter(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet037FancyCustomTooltips.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet037FancyCustomTooltips.java
deleted file mode 100644
index fffecdd..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet037FancyCustomTooltips.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *     IBM - Improvement for Bug 159625 [Snippets] Update Snippet011CustomTooltips to reflect new API
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.viewers.CellLabelProvider;
-import org.eclipse.jface.viewers.ColumnViewer;
-import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TableViewerColumn;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerCell;
-import org.eclipse.jface.window.ToolTip;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Explore New API: JFace custom tooltips drawing.
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * @since 3.3
- */
-public class Snippet037FancyCustomTooltips {
-	private static class MyContentProvider implements
-			IStructuredContentProvider {
-
-		public Object[] getElements(Object inputElement) {
-			return new String[] { "one", "two", "three", "four", "five", "six",
-					"seven", "eight", "nine", "ten" };
-		}
-
-		public void dispose() {
-
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-
-		}
-	}
-
-	private static class FancyToolTipSupport extends ColumnViewerToolTipSupport {
-
-		protected FancyToolTipSupport(ColumnViewer viewer, int style,
-				boolean manualActivation) {
-			super(viewer, style, manualActivation);
-		}
-		
-		
-		protected Composite createToolTipContentArea(Event event,
-				Composite parent) {
-			Composite comp = new Composite(parent,SWT.NONE);
-			GridLayout l = new GridLayout(1,false);
-			l.horizontalSpacing=0;
-			l.marginWidth=0;
-			l.marginHeight=0;
-			l.verticalSpacing=0;
-			
-			comp.setLayout(l);
-			Browser browser = new Browser(comp,SWT.BORDER);
-			browser.setText(getText(event));
-			browser.setLayoutData(new GridData(200,150));
-			
-			
-			return comp;
-		}
-
-		public boolean isHideOnMouseDown() {
-			return false;
-		}
-
-
-		public static final void enableFor(ColumnViewer viewer, int style) {
-			new FancyToolTipSupport(viewer,style,false);
-		}
-	}
-	
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		final Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-
-		TableViewer v = new TableViewer(shell, SWT.FULL_SELECTION);
-		v.getTable().setLinesVisible(true);
-		v.getTable().setHeaderVisible(true);
-		v.setContentProvider(new MyContentProvider());
-		FancyToolTipSupport.enableFor(v,ToolTip.NO_RECREATE);
-		
-		CellLabelProvider labelProvider = new CellLabelProvider() {
-
-			public String getToolTipText(Object element) {
-				return "<html><body>Tooltip (" + element + ")<br /><a href='http://www.bestsolution.at' target='_NEW'>www.bestsolution.at</a></body></html>";
-			}
-
-			public Point getToolTipShift(Object object) {
-				return new Point(5, 5);
-			}
-
-			public int getToolTipDisplayDelayTime(Object object) {
-				return 2000;
-			}
-
-			public int getToolTipTimeDisplayed(Object object) {
-				return 5000;
-			}
-
-			public void update(ViewerCell cell) {
-				cell.setText(cell.getElement().toString());
-			}
-		};
-
-		TableViewerColumn column = new TableViewerColumn(v, SWT.NONE);
-		column.setLabelProvider(labelProvider);
-		column.getColumn().setText("Column 1");
-		column.getColumn().setWidth(100);
-
-		v.setInput("");
-
-		shell.setSize(200, 200);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch()) {
-				display.sleep();
-			}
-		}
-
-		display.dispose();
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/TableCursor.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/TableCursor.java
deleted file mode 100644
index e3b0c9b..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/TableCursor.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.snippets.viewers;
-
-import org.eclipse.jface.viewers.AbstractTableViewer;
-import org.eclipse.jface.viewers.ViewerCell;
-import org.eclipse.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.*;
-
-
-public class TableCursor extends AbstractCellCursor {
-	
-	public TableCursor(AbstractTableViewer viewer) {
-		super(viewer,SWT.NONE);
-	}
-	
-	protected void paint(Event event) {
-		if (getSelectedCells().length == 1 && getSelectedCells()[0] == null) return;
-		ViewerCell cell = getSelectedCells()[0];
-		
-		GC gc = event.gc;
-		Display display = getDisplay();
-		gc.setBackground(getBackground());
-		gc.setForeground(getForeground());
-		gc.fillRectangle(event.x, event.y, event.width, event.height);
-		int x = 0;
-		Point size = getSize();
-		Image image = cell.getImage();
-		if (image != null) {
-			Rectangle imageSize = image.getBounds();
-			int imageY = (size.y - imageSize.height) / 2;
-			gc.drawImage(image, x, imageY);
-			x += imageSize.width;
-		}
-		String text = cell.getText();
-		if (text != "") { //$NON-NLS-1$
-			Rectangle bounds = cell.getBounds();
-			Point extent = gc.stringExtent(text);
-			// Temporary code - need a better way to determine table trim
-			String platform = SWT.getPlatform();
-			if ("win32".equals(platform)) { //$NON-NLS-1$
-				if (((Table)getParent()).getColumnCount() == 0 || cell.getColumnIndex() == 0) {
-					x += 2; 
-				} else {
-					int alignmnent = ((Table)getParent()).getColumn(cell.getColumnIndex()).getAlignment();
-					switch (alignmnent) {
-						case SWT.LEFT:
-							x += 6;
-							break;
-						case SWT.RIGHT:
-							x = bounds.width - extent.x - 6;
-							break;
-						case SWT.CENTER:
-							x += (bounds.width - x - extent.x) / 2;
-							break;
-					}
-				}
-			}  else {
-				if (((Table)getParent()).getColumnCount() == 0) {
-					x += 5; 
-				} else {
-					int alignmnent = ((Table)getParent()).getColumn(cell.getColumnIndex()).getAlignment();
-					switch (alignmnent) {
-						case SWT.LEFT:
-							x += 5;
-							break;
-						case SWT.RIGHT:
-							x = bounds.width- extent.x - 2;
-							break;
-						case SWT.CENTER:
-							x += (bounds.width - x - extent.x) / 2 + 2;
-							break;
-					}
-				}
-			}
-			int textY = (size.y - extent.y) / 2;
-			gc.drawString(text, x, textY);
-		}
-		if (isFocusControl()) {
-			gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
-			gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE));
-			gc.drawFocus(0, 0, size.x, size.y);
-		}
-	}
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/Snippet020CustomizedControlTooltips.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/Snippet020CustomizedControlTooltips.java
deleted file mode 100644
index 6cb2caa..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/Snippet020CustomizedControlTooltips.java
+++ /dev/null
@@ -1,246 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.window;
-
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.Policy;
-import org.eclipse.jface.window.DefaultToolTip;
-import org.eclipse.jface.window.ToolTip;
-import org.eclipse.swt.SWT;
-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.SelectionListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.layout.RowLayout;
-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.Link;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Demonstrate usage of custom toolstips for controls
- * 
- * @author Tom Schindl
- * 
- */
-public class Snippet020CustomizedControlTooltips {
-	protected class MyToolTip extends ToolTip {
-		
-		private Shell parentShell;
-		
-		private String headerText = "ToolTip-Header";
-		
-		public static final String HEADER_BG_COLOR = Policy.JFACE + ".TOOLTIP_HEAD_BG_COLOR";
-		
-		public static final String HEADER_FG_COLOR = Policy.JFACE + ".TOOLTIP_HEAD_FG_COLOR";
-		
-		public static final String HEADER_FONT = Policy.JFACE + ".TOOLTIP_HEAD_FONT";
-		
-		public static final String HEADER_CLOSE_ICON = Policy.JFACE + ".TOOLTIP_CLOSE_ICON";
-		public static final String HEADER_HELP_ICON = Policy.JFACE + ".TOOLTIP_HELP_ICON";
-		
-		public MyToolTip(Control control) {
-			super(control);
-			this.parentShell = control.getShell();
-		}
-
-		protected Composite createToolTipContentArea(Event event,
-				Composite parent) {
-			Composite comp = new Composite(parent,SWT.NONE);
-			
-			GridLayout gl = new GridLayout(1,false);
-			gl.marginBottom=0;
-			gl.marginTop=0;
-			gl.marginHeight=0;
-			gl.marginWidth=0;
-			gl.marginLeft=0;
-			gl.marginRight=0;
-			gl.verticalSpacing=1;
-			comp.setLayout(gl);
-			
-			Composite topArea = new Composite(comp,SWT.NONE);
-			GridData data = new GridData(SWT.FILL,SWT.FILL,true,false);
-			data.widthHint=200;
-			topArea.setLayoutData(data);
-			topArea.setBackground(JFaceResources.getColorRegistry().get(HEADER_BG_COLOR));
-			
-			gl = new GridLayout(2,false);
-			gl.marginBottom=2;
-			gl.marginTop=2;
-			gl.marginHeight=0;
-			gl.marginWidth=0;
-			gl.marginLeft=5;
-			gl.marginRight=2;
-			
-			topArea.setLayout(gl);
-			
-			Label l = new Label(topArea,SWT.NONE);
-			l.setText(headerText);
-			l.setBackground(JFaceResources.getColorRegistry().get(HEADER_BG_COLOR));
-			l.setFont(JFaceResources.getFontRegistry().get(HEADER_FONT));
-			l.setForeground(JFaceResources.getColorRegistry().get(HEADER_FG_COLOR));
-			l.setLayoutData(new GridData(GridData.FILL_BOTH));
-			
-			Composite iconComp = new Composite(topArea,SWT.NONE);
-			iconComp.setLayoutData(new GridData());
-			iconComp.setLayout(new GridLayout(2,false));
-			iconComp.setBackground(JFaceResources.getColorRegistry().get(HEADER_BG_COLOR));
-			
-			gl = new GridLayout(2,false);
-			gl.marginBottom=0;
-			gl.marginTop=0;
-			gl.marginHeight=0;
-			gl.marginWidth=0;
-			gl.marginLeft=0;
-			gl.marginRight=0;
-			iconComp.setLayout(gl);
-			
-			Label helpIcon = new Label(iconComp,SWT.NONE);
-			helpIcon.setBackground(JFaceResources.getColorRegistry().get(HEADER_BG_COLOR));
-			helpIcon.setImage(JFaceResources.getImage(HEADER_HELP_ICON));
-			helpIcon.addMouseListener(new MouseAdapter() {
-
-				public void mouseDown(MouseEvent e) {
-					hide();
-					openHelp();
-				}
-			});
-			
-			
-			Label closeIcon = new Label(iconComp,SWT.NONE);
-			closeIcon.setBackground(JFaceResources.getColorRegistry().get(HEADER_BG_COLOR));
-			closeIcon.setImage(JFaceResources.getImage(HEADER_CLOSE_ICON));
-			closeIcon.addMouseListener(new MouseAdapter() {
-
-				public void mouseDown(MouseEvent e) {
-					parentShell.setFocus();
-					hide();
-				}
-			});
-			
-			createContentArea(comp).setLayoutData(new GridData(GridData.FILL_BOTH));
-			
-			return comp;
-		}
-		
-		protected Composite createContentArea(Composite parent) {
-			return new Composite(parent,SWT.NONE);
-		}
-		
-		protected void openHelp() {
-			parentShell.setFocus();
-		}
-	}
-
-	public Snippet020CustomizedControlTooltips(final Shell parent) {
-		JFaceResources.getColorRegistry().put(MyToolTip.HEADER_BG_COLOR, new RGB(255,255,255));
-		JFaceResources.getFontRegistry().put(MyToolTip.HEADER_FONT, JFaceResources.getFontRegistry().getBold(JFaceResources.getDefaultFont().getFontData()[0].getName()).getFontData());
-
-		
-		JFaceResources.getImageRegistry().put(MyToolTip.HEADER_CLOSE_ICON,ImageDescriptor.createFromFile(Snippet020CustomizedControlTooltips.class, "showerr_tsk.gif"));
-		JFaceResources.getImageRegistry().put(MyToolTip.HEADER_HELP_ICON,ImageDescriptor.createFromFile(Snippet020CustomizedControlTooltips.class, "linkto_help.gif"));
-		
-		Text text = new Text(parent,SWT.BORDER);
-		text.setText("Hello World");
-
-		MyToolTip myTooltipLabel = new MyToolTip(text) {
-
-			protected Composite createContentArea(Composite parent) {
-				Composite comp = super.createContentArea(parent);
-				comp.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-				FillLayout layout = new FillLayout();
-				layout.marginWidth=5;
-				comp.setLayout(layout);
-				Link l = new Link(comp,SWT.NONE);
-				l.setText("This a custom tooltip you can: \n- pop up any control you want\n- define delays\n - ... \nGo and get Eclipse M4 from <a>http://www.eclipse.org</a>");
-				l.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-				l.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						openURL();
-					}
-				});
-				return comp;
-			}
-			
-			protected void openURL() {
-				MessageBox box = new MessageBox(parent,SWT.ICON_INFORMATION);
-				box.setText("Eclipse.org");
-				box.setMessage("Here is where we'd open the URL.");
-				box.open();
-			}
-
-			protected void openHelp() {
-				MessageBox box = new MessageBox(parent,SWT.ICON_INFORMATION);
-				box.setText("Info");
-				box.setMessage("Here is where we'd show some information.");
-				box.open();
-			}
-			
-		};
-		myTooltipLabel.setShift(new Point(-5, -5));
-		myTooltipLabel.setHideOnMouseDown(false);
-		myTooltipLabel.activate();
-
-		text = new Text(parent,SWT.BORDER);
-		text.setText("Hello World");
-		DefaultToolTip toolTip = new DefaultToolTip(text);
-		toolTip.setText("Hello World\nHello World");
-		toolTip.setBackgroundColor(parent.getDisplay().getSystemColor(SWT.COLOR_RED));
-		
-		Button b = new Button(parent,SWT.PUSH);
-		b.setText("Popup on press");
-		
-		final DefaultToolTip toolTipDelayed = new DefaultToolTip(b,ToolTip.RECREATE,true);
-		toolTipDelayed.setText("Hello World\nHello World");
-		toolTipDelayed.setBackgroundColor(parent.getDisplay().getSystemColor(SWT.COLOR_RED));
-		toolTipDelayed.setHideDelay(2000);
-		
-		b.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				toolTipDelayed.show(new Point(0,0));
-			}
-		});
-		
-		
-	}
-
-	public static void main(String[] args) {
-		Display display = new Display();
-
-		Shell shell = new Shell(display);
-		shell.setLayout(new RowLayout());
-		new Snippet020CustomizedControlTooltips(shell);
-
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/Snippet023TreeViewerCustomTooltips.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/Snippet023TreeViewerCustomTooltips.java
deleted file mode 100755
index ceeab83..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/Snippet023TreeViewerCustomTooltips.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.window;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.CellLabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TreeItem;
-
-/**
- * A simple TreeViewer to demonstrate how custom tooltips could be created
- * easily. This is an extended version from
- * http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet125.java
- * 
- * This code is for users pre 3.3 others could use newly added tooltip support in
- * {@link CellLabelProvider}
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
- */
-public class Snippet023TreeViewerCustomTooltips {
-	private class MyContentProvider implements ITreeContentProvider {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return ((MyModel) inputElement).child.toArray();
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-
-		}
-
-		/*
-		 * (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) {
-
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-		 */
-		public Object[] getChildren(Object parentElement) {
-			return getElements(parentElement);
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
-		 */
-		public Object getParent(Object element) {
-			if (element == null) {
-				return null;
-			}
-
-			return ((MyModel) element).parent;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-		 */
-		public boolean hasChildren(Object element) {
-			return ((MyModel) element).child.size() > 0;
-		}
-
-	}
-
-	public class MyModel {
-		public MyModel parent;
-
-		public ArrayList child = new ArrayList();
-
-		public int counter;
-
-		public MyModel(int counter, MyModel parent) {
-			this.parent = parent;
-			this.counter = counter;
-		}
-
-		public String toString() {
-			String rv = "Item ";
-			if (parent != null) {
-				rv = parent.toString() + ".";
-			}
-
-			rv += counter;
-
-			return rv;
-		}
-	}
-
-	public Snippet023TreeViewerCustomTooltips(Shell shell) {
-		final TreeViewer v = new TreeViewer(shell);
-		v.setLabelProvider(new LabelProvider());
-		v.setContentProvider(new MyContentProvider());
-		v.setInput(createModel());
-		v.getTree().setToolTipText("");
-
-		final Listener labelListener = new Listener () {
-			public void handleEvent (Event event) {
-				Label label = (Label)event.widget;
-				Shell shell = label.getShell ();
-				switch (event.type) {
-					case SWT.MouseDown:
-						Event e = new Event ();
-						e.item = (TreeItem) label.getData ("_TABLEITEM");
-						// Assuming table is single select, set the selection as if
-						// the mouse down event went through to the table
-						v.getTree().setSelection (new TreeItem [] {(TreeItem) e.item});
-						v.getTree().notifyListeners (SWT.Selection, e);
-						shell.dispose ();
-						v.getTree().setFocus();
-						break;
-					case SWT.MouseExit:
-						shell.dispose ();
-						break;
-				}
-			}
-		};
-		
-		Listener treeListener = new Listener () {
-			Shell tip = null;
-			Label label = null;
-			public void handleEvent (Event event) {
-				switch (event.type) {
-					case SWT.Dispose:
-					case SWT.KeyDown:
-					case SWT.MouseMove: {
-						if (tip == null) break;
-						tip.dispose ();
-						tip = null;
-						label = null;
-						break;
-					}
-					case SWT.MouseHover: {
-						Point coords = new Point(event.x, event.y);
-						TreeItem item = v.getTree().getItem(coords);
-						if (item != null) {
-							int columns = v.getTree().getColumnCount();
-
-							for (int i = 0; i < columns || i == 0; i++) {
-								if (item.getBounds(i).contains(coords)) {
-									if (tip != null  && !tip.isDisposed ()) tip.dispose ();
-									tip = new Shell (v.getTree().getShell(), SWT.ON_TOP | SWT.NO_FOCUS | SWT.TOOL);
-									tip.setBackground (v.getTree().getDisplay().getSystemColor (SWT.COLOR_INFO_BACKGROUND));
-									FillLayout layout = new FillLayout ();
-									layout.marginWidth = 2;
-									tip.setLayout (layout);
-									label = new Label (tip, SWT.NONE);
-									label.setForeground (v.getTree().getDisplay().getSystemColor (SWT.COLOR_INFO_FOREGROUND));
-									label.setBackground (v.getTree().getDisplay().getSystemColor (SWT.COLOR_INFO_BACKGROUND));
-									label.setData ("_TABLEITEM", item);
-									label.setText ("Tooltip: " + item.getData()+ " => Column: " + i);
-									label.addListener (SWT.MouseExit, labelListener);
-									label.addListener (SWT.MouseDown, labelListener);
-									Point size = tip.computeSize (SWT.DEFAULT, SWT.DEFAULT);
-									Rectangle rect = item.getBounds (i);
-									Point pt = v.getTree().toDisplay (rect.x, rect.y);
-									tip.setBounds (pt.x, pt.y, size.x, size.y);
-									tip.setVisible (true);
-									break;
-								}
-							}
-						}
-					}
-				}
-			}
-		};
-		v.getTree().addListener (SWT.Dispose, treeListener);
-		v.getTree().addListener (SWT.KeyDown, treeListener);
-		v.getTree().addListener (SWT.MouseMove, treeListener);
-		v.getTree().addListener (SWT.MouseHover, treeListener);
-	}
-
-	private MyModel createModel() {
-
-		MyModel root = new MyModel(0, null);
-		root.counter = 0;
-
-		MyModel tmp;
-		for (int i = 1; i < 10; i++) {
-			tmp = new MyModel(i, root);
-			root.child.add(tmp);
-			for (int j = 1; j < i; j++) {
-				tmp.child.add(new MyModel(j, tmp));
-			}
-		}
-
-		return root;
-	}
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet023TreeViewerCustomTooltips(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		display.dispose();
-	}
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/Snippet031TableStaticTooltip.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/Snippet031TableStaticTooltip.java
deleted file mode 100644
index 88e2b9c..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/Snippet031TableStaticTooltip.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Tom Schindl and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Tom Schindl - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.snippets.window;
-
-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.jface.window.DefaultToolTip;
-import org.eclipse.jface.window.ToolTip;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-
-/**
- * Example how one can create a tooltip which is not recreated for every table
- * cell
- * 
- * @author Tom Schindl <tom.schindl@bestsolution.at>
- * 
- */
-public class Snippet031TableStaticTooltip {
-	private static Image[] images;
-
-	private class MyContentProvider implements IStructuredContentProvider {
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return (MyModel[]) inputElement;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-
-		}
-
-		/*
-		 * (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) {
-
-		}
-
-	}
-
-	public class MyModel {
-		public int counter;
-
-		public MyModel(int counter) {
-			this.counter = counter;
-		}
-
-		public String toString() {
-			return "Item " + this.counter;
-		}
-	}
-
-	public class MyLabelProvider extends LabelProvider implements
-			ITableLabelProvider {
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			if (columnIndex == 1) {
-				return images[((MyModel) element).counter % 4];
-			}
-
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			return "Column " + columnIndex + " => " + element.toString();
-		}
-
-	}
-
-	private static Image createImage(Display display, int red, int green,
-			int blue) {
-		Color color = new Color(display, red, green, blue);
-		Image image = new Image(display, 10, 10);
-		GC gc = new GC(image);
-		gc.setBackground(color);
-		gc.fillRectangle(0, 0, 10, 10);
-		gc.dispose();
-
-		return image;
-	}
-
-	public Snippet031TableStaticTooltip(Shell shell) {
-		final TableViewer v = new TableViewer(shell, SWT.BORDER
-				| SWT.FULL_SELECTION);
-		v.setLabelProvider(new MyLabelProvider());
-		v.setContentProvider(new MyContentProvider());
-
-		TableColumn column = new TableColumn(v.getTable(), SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 1");
-
-		column = new TableColumn(v.getTable(), SWT.NONE);
-		column.setWidth(200);
-		column.setText("Column 2");
-
-		MyModel[] model = createModel();
-		v.setInput(model);
-		v.getTable().setLinesVisible(true);
-		v.getTable().setHeaderVisible(true);
-
-		DefaultToolTip toolTip = new DefaultToolTip(v.getControl(),
-				ToolTip.NO_RECREATE, false);
-		toolTip.setText("Hello World\nHello World");
-		toolTip.setBackgroundColor(v.getTable().getDisplay().getSystemColor(
-				SWT.COLOR_RED));
-		toolTip.setShift(new Point(10, 5));
-	}
-
-	private MyModel[] createModel() {
-		MyModel[] elements = new MyModel[10];
-
-		for (int i = 0; i < 10; i++) {
-			elements[i] = new MyModel(i);
-		}
-
-		return elements;
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Display display = new Display();
-
-		images = new Image[4];
-		images[0] = createImage(display, 0, 0, 255);
-		images[1] = createImage(display, 0, 255, 255);
-		images[2] = createImage(display, 0, 255, 0);
-		images[3] = createImage(display, 255, 0, 255);
-
-		Shell shell = new Shell(display);
-		shell.setLayout(new FillLayout());
-		new Snippet031TableStaticTooltip(shell);
-		shell.open();
-
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-
-		for (int i = 0; i < images.length; i++) {
-			images[i].dispose();
-		}
-
-		display.dispose();
-
-	}
-
-}
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/linkto_help.gif b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/linkto_help.gif
deleted file mode 100644
index 86550fe..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/linkto_help.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/showerr_tsk.gif b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/showerr_tsk.gif
deleted file mode 100644
index 2ff6678..0000000
--- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/window/showerr_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.jface.snippets/META-INF/MANIFEST.MF b/examples/org.eclipse.jface.snippets/META-INF/MANIFEST.MF
deleted file mode 100644
index 839899b..0000000
--- a/examples/org.eclipse.jface.snippets/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: JFace Snippets Plug-in
-Bundle-SymbolicName: org.eclipse.jface.snippets
-Bundle-Version: 3.3.0.qualifier
-Bundle-Vendor: Eclipse.org
-Require-Bundle: org.eclipse.jface,
- org.eclipse.jface.databinding,
- org.eclipse.core.runtime
diff --git a/examples/org.eclipse.jface.snippets/build.properties b/examples/org.eclipse.jface.snippets/build.properties
deleted file mode 100644
index c907c60..0000000
--- a/examples/org.eclipse.jface.snippets/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = Eclipse JFace Snippets/
-output.. = bin/
-bin.includes = META-INF/,\
-               .
diff --git a/examples/org.eclipse.ui.examples.contributions/.project b/examples/org.eclipse.ui.examples.contributions/.project
deleted file mode 100644
index 0230483..0000000
--- a/examples/org.eclipse.ui.examples.contributions/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.contributions</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.ui.examples.fieldassist/.classpath b/examples/org.eclipse.ui.examples.fieldassist/.classpath
deleted file mode 100644
index 203998a..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="Eclipse UI Examples Field Assist"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.ui.examples.fieldassist/.cvsignore b/examples/org.eclipse.ui.examples.fieldassist/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.ui.examples.fieldassist/.project b/examples/org.eclipse.ui.examples.fieldassist/.project
deleted file mode 100644
index 440e70b..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.fieldassist</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/examples/org.eclipse.ui.examples.fieldassist/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.fieldassist/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 8630599..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Jan 15 21:19:47 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.fieldassist/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.fieldassist/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 0cb7d76..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Tue Oct 18 15:15:38 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/examples/org.eclipse.ui.examples.fieldassist/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.examples.fieldassist/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index a26a239..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Oct 18 16:45:19 EDT 2005
-compilers.p.deprecated=0
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/FieldAssistPlugin.java b/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/FieldAssistPlugin.java
deleted file mode 100644
index d6f0772..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/FieldAssistPlugin.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.fieldassist;
-
-import org.eclipse.ui.plugin.*;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class FieldAssistPlugin extends AbstractUIPlugin {
-
-	//The shared instance.
-	private static FieldAssistPlugin plugin;
-	
-	// Our own content assist decorator (which adds the key binding)
-	static String DEC_CONTENTASSIST = "org.eclipse.ui.examples.fieldassist.contentAssistDecoration";
-	
-	/**
-	 * The constructor.
-	 */
-	public FieldAssistPlugin() {
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 * 
-	 * @return the shared plugin instance
-	 */
-	public static FieldAssistPlugin getDefault() {
-		return plugin;
-	}
-}
-
diff --git a/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/FieldAssistTestDialog.java b/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/FieldAssistTestDialog.java
deleted file mode 100644
index ed8df6c..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/FieldAssistTestDialog.java
+++ /dev/null
@@ -1,809 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Sebastian Davids <sdavids@gmx.de> - bug 132479 - [FieldAssist] Field assist example improvements
- *******************************************************************************/
-package org.eclipse.ui.examples.fieldassist;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.bindings.keys.KeyStroke;
-import org.eclipse.jface.bindings.keys.ParseException;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.StatusDialog;
-import org.eclipse.jface.fieldassist.AutoCompleteField;
-import org.eclipse.jface.fieldassist.ComboContentAdapter;
-import org.eclipse.jface.fieldassist.ContentProposalAdapter;
-import org.eclipse.jface.fieldassist.ControlDecoration;
-import org.eclipse.jface.fieldassist.FieldDecoration;
-import org.eclipse.jface.fieldassist.FieldDecorationRegistry;
-import org.eclipse.jface.fieldassist.IContentProposal;
-import org.eclipse.jface.fieldassist.IContentProposalProvider;
-import org.eclipse.jface.fieldassist.IControlContentAdapter;
-import org.eclipse.jface.fieldassist.TextContentAdapter;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MenuDetectEvent;
-import org.eclipse.swt.events.MenuDetectListener;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Spinner;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.examples.fieldassist.preferences.PreferenceConstants;
-
-/**
- * Example dialog that shows different field assist capabilities.
- */
-public class FieldAssistTestDialog extends StatusDialog {
-
-	class SpinnerContentAdapter implements IControlContentAdapter {
-		// We are only implementing this for our internal use, not for
-		// content assist, so many of the methods are ignored.
-		public String getControlContents(Control control) {
-			return new Integer(((Spinner) control).getSelection()).toString();
-		}
-
-		public void setControlContents(Control control, String text,
-				int cursorPosition) {
-			// ignore
-		}
-
-		public void insertControlContents(Control control, String text,
-				int cursorPosition) {
-			// ignore
-		}
-
-		public int getCursorPosition(Control control) {
-			// ignore
-			return 0;
-		}
-
-		public Rectangle getInsertionBounds(Control control) {
-			return control.getBounds();
-		}
-
-		public void setCursorPosition(Control control, int index) {
-			// ignore
-		}
-	}
-
-	abstract class SmartField {
-		ControlDecoration controlDecoration;
-
-		Control control;
-
-		IControlContentAdapter contentAdapter;
-
-		FieldDecoration errorDecoration, warningDecoration;
-
-		SmartField(ControlDecoration dec, Control control,
-				IControlContentAdapter adapter) {
-			this.controlDecoration = dec;
-			this.contentAdapter = adapter;
-			this.control = control;
-		}
-
-		boolean isRequiredField() {
-			return true;
-		}
-
-		boolean hasQuickFix() {
-			return false;
-		}
-
-		void quickFix() {
-			// do nothing
-		}
-
-		boolean hasContentAssist() {
-			return false;
-		}
-
-		void dispose() {
-			// do nothing
-		}
-
-		FieldDecoration getErrorDecoration() {
-			if (errorDecoration == null) {
-				FieldDecoration standardError;
-				if (hasQuickFix()) {
-					standardError = FieldDecorationRegistry.getDefault()
-							.getFieldDecoration(
-									FieldDecorationRegistry.DEC_ERROR_QUICKFIX);
-				} else {
-					standardError = FieldDecorationRegistry.getDefault()
-							.getFieldDecoration(
-									FieldDecorationRegistry.DEC_ERROR);
-				}
-				if (getErrorMessage() == null) {
-					errorDecoration = standardError;
-				} else {
-					errorDecoration = new FieldDecoration(standardError
-							.getImage(), getErrorMessage());
-				}
-			}
-			return errorDecoration;
-
-		}
-
-		FieldDecoration getWarningDecoration() {
-			if (warningDecoration == null) {
-				FieldDecoration standardWarning = FieldDecorationRegistry
-						.getDefault().getFieldDecoration(
-								FieldDecorationRegistry.DEC_WARNING);
-				if (getWarningMessage() == null) {
-					warningDecoration = standardWarning;
-				} else {
-					warningDecoration = new FieldDecoration(standardWarning
-							.getImage(), getWarningMessage());
-				}
-			}
-			return warningDecoration;
-		}
-
-		String getContents() {
-			return contentAdapter.getControlContents(control);
-		}
-
-		void setContents(String contents) {
-			contentAdapter.setControlContents(control, contents, contents
-					.length());
-		}
-
-		abstract boolean isValid();
-
-		abstract boolean isWarning();
-
-		String getErrorMessage() {
-			return null;
-		}
-
-		String getWarningMessage() {
-			return null;
-		}
-
-	}
-
-	class UserField extends SmartField {
-		Menu quickFixMenu;
-
-		UserField(ControlDecoration dec, Control control,
-				IControlContentAdapter adapter) {
-			super(dec, control, adapter);
-		}
-
-		boolean isValid() {
-			String contents = getContents();
-			for (int i = 0; i < contents.length(); i++) {
-				if (!Character.isLetter(contents.charAt(i))) {
-					return false;
-				}
-			}
-			return true;
-		}
-
-		String getErrorMessage() {
-			return TaskAssistExampleMessages.ExampleDialog_UserError;
-		}
-
-		boolean isWarning() {
-			return getContents().equals(
-					TaskAssistExampleMessages.ExampleDialog_WarningName);
-		}
-
-		String getWarningMessage() {
-			return TaskAssistExampleMessages.ExampleDialog_UserWarning;
-		}
-
-		boolean hasContentAssist() {
-			return true;
-		}
-
-		boolean hasQuickFix() {
-			return true;
-		}
-
-		void quickFix() {
-			String contents = getContents();
-			StringBuffer lettersOnly = new StringBuffer();
-			int length = contents.length();
-			for (int i = 0; i < length;) {
-				char ch = contents.charAt(i++);
-				if (Character.isLetter(ch)) {
-					lettersOnly.append(ch);
-				}
-			}
-			setContents(lettersOnly.toString());
-		}
-
-		void dispose() {
-			if (quickFixMenu != null) {
-				quickFixMenu.dispose();
-				quickFixMenu = null;
-			}
-		}
-	}
-
-	class AgeField extends SmartField {
-
-		AgeField(ControlDecoration dec, Control control,
-				IControlContentAdapter adapter) {
-			super(dec, control, adapter);
-		}
-
-		boolean isValid() {
-			// We seed the spinner with valid values always.
-			return true;
-		}
-
-		boolean isWarning() {
-			Spinner spinner = (Spinner) control;
-			return spinner.getSelection() > 65;
-		}
-
-		String getWarningMessage() {
-			return TaskAssistExampleMessages.ExampleDialog_AgeWarning;
-		}
-	}
-
-	String[] validUsers = { "tom", "dick", "harry", "ferdinand", "tim",
-			"teresa", "tori", "daniela", "aaron", "kevin", "tod", "mike",
-			"kim", "eric", "paul" };
-
-	String triggerKey;
-
-	String username;
-
-	boolean showErrorDecoration, showErrorMessage, showWarningDecoration,
-			showRequiredFieldDecoration, showRequiredFieldLabelIndicator,
-			showSecondaryPopup, showContentAssist;
-
-	int marginWidth;
-
-	UserField textField, comboField;
-
-	/**
-	 * Open the example dialog.
-	 * 
-	 * @param parent
-	 *            the parent shell
-	 * @param username
-	 *            the default username
-	 */
-	public FieldAssistTestDialog(Shell parent, String username) {
-		super(parent);
-		setTitle(TaskAssistExampleMessages.ExampleDialog_Title);
-		this.username = username;
-		getPreferenceValues();
-	}
-
-	protected Control createDialogArea(Composite parent) {
-
-		Composite outer = (Composite) super.createDialogArea(parent);
-
-		initializeDialogUnits(outer);
-		createSecurityGroup(outer);
-
-		// Create a simple field to show how field assist can be used for
-		// autocomplete.
-		Group autoComplete = new Group(outer, SWT.NONE);
-		autoComplete.setLayoutData(new GridData(GridData.FILL_BOTH));
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		autoComplete.setLayout(layout);
-		autoComplete
-				.setText(TaskAssistExampleMessages.ExampleDialog_AutoCompleteGroup);
-
-		Label label = new Label(autoComplete, SWT.LEFT);
-		label.setText(TaskAssistExampleMessages.ExampleDialog_UserName);
-
-		// Create an auto-complete field representing a user name
-		Text text = new Text(autoComplete, SWT.BORDER);
-		text.setLayoutData(getFieldGridData());
-		new AutoCompleteField(text, new TextContentAdapter(), validUsers);
-
-		Dialog.applyDialogFont(outer);
-
-		return outer;
-	}
-
-	private void getPreferenceValues() {
-		IPreferenceStore store = FieldAssistPlugin.getDefault()
-				.getPreferenceStore();
-		showErrorMessage = store
-				.getBoolean(PreferenceConstants.PREF_SHOWERRORMESSAGE);
-		showErrorDecoration = store
-				.getBoolean(PreferenceConstants.PREF_SHOWERRORDECORATION);
-		showWarningDecoration = store
-				.getBoolean(PreferenceConstants.PREF_SHOWWARNINGDECORATION);
-		showRequiredFieldDecoration = store
-				.getBoolean(PreferenceConstants.PREF_SHOWREQUIREDFIELDDECORATION);
-		showRequiredFieldLabelIndicator = store
-				.getBoolean(PreferenceConstants.PREF_SHOWREQUIREDFIELDLABELINDICATOR);
-		showSecondaryPopup = store
-				.getBoolean(PreferenceConstants.PREF_SHOWSECONDARYPOPUP);
-		showContentAssist = store
-				.getBoolean(PreferenceConstants.PREF_SHOWCONTENTPROPOSALCUE);
-		triggerKey = store.getString(PreferenceConstants.PREF_CONTENTASSISTKEY);
-		marginWidth = store
-				.getInt(PreferenceConstants.PREF_DECORATOR_MARGINWIDTH);
-	}
-
-	FieldDecoration getCueDecoration() {
-		// We use our own decoration which is based on the JFace version.
-		FieldDecorationRegistry registry = FieldDecorationRegistry.getDefault();
-		FieldDecoration dec = registry
-				.getFieldDecoration(FieldAssistPlugin.DEC_CONTENTASSIST);
-		if (dec == null) {
-			// Get the standard one. We use its image and our own customized
-			// text.
-			FieldDecoration standardDecoration = registry
-					.getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);
-			registry.registerFieldDecoration(
-					FieldAssistPlugin.DEC_CONTENTASSIST, NLS.bind(
-							TaskAssistExampleMessages.Decorator_ContentAssist,
-							triggerKey), standardDecoration.getImage());
-			dec = registry
-					.getFieldDecoration(FieldAssistPlugin.DEC_CONTENTASSIST);
-		}
-		return dec;
-	}
-
-	FieldDecoration getWarningDecoration() {
-		return FieldDecorationRegistry.getDefault().getFieldDecoration(
-				FieldDecorationRegistry.DEC_WARNING);
-	}
-
-	void handleModify(SmartField smartField) {
-		// Error indicator supercedes all others
-		if (!smartField.isValid()) {
-			showError(smartField);
-		} else {
-			hideError(smartField);
-			if (smartField.isWarning()) {
-				showWarning(smartField);
-			} else {
-				hideWarning(smartField);
-				if (showContentAssist && smartField.hasContentAssist()) {
-					showContentAssistDecoration(smartField, true);
-				} else {
-					showContentAssistDecoration(smartField, false);
-					showRequiredFieldDecoration(smartField,
-							showRequiredFieldDecoration);
-				}
-			}
-		}
-	}
-
-	GridData getFieldGridData() {
-		int margin = FieldDecorationRegistry.getDefault()
-				.getMaximumDecorationWidth();
-		GridData data = new GridData();
-		data.horizontalAlignment = SWT.FILL;
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH + margin;
-		data.horizontalIndent = margin;
-		data.grabExcessHorizontalSpace = true;
-		return data;
-
-	}
-
-	void showError(SmartField smartField) {
-		FieldDecoration dec = smartField.getErrorDecoration();
-		if (showErrorMessage) {
-			updateStatus(new Status(IStatus.ERROR,
-					"org.eclipse.examples.contentassist", 0, dec //$NON-NLS-1$
-							.getDescription(), null));
-		}
-		if (showErrorDecoration) {
-			showErrorDecoration(smartField, true);
-		}
-	}
-
-	void hideError(SmartField smartField) {
-		if (showErrorMessage) {
-			this.updateStatus(Status.OK_STATUS);
-		}
-		if (showErrorDecoration) {
-			showErrorDecoration(smartField, false);
-		}
-	}
-
-	void showWarning(SmartField smartField) {
-		if (showWarningDecoration) {
-			showWarningDecoration(smartField, true);
-		}
-	}
-
-	void hideWarning(SmartField smartField) {
-		if (showWarningDecoration) {
-			showWarningDecoration(smartField, false);
-		}
-	}
-
-	void installContentProposalAdapter(Control control,
-			IControlContentAdapter contentAdapter) {
-		IPreferenceStore store = FieldAssistPlugin.getDefault()
-				.getPreferenceStore();
-		boolean propagate = store
-				.getBoolean(PreferenceConstants.PREF_CONTENTASSISTKEY_PROPAGATE);
-		KeyStroke keyStroke;
-		char[] autoActivationCharacters = null;
-		int autoActivationDelay = store
-				.getInt(PreferenceConstants.PREF_CONTENTASSISTDELAY);
-
-		if (triggerKey.equals(PreferenceConstants.PREF_CONTENTASSISTKEYAUTO)) {
-			// null means automatically assist when character typed
-			keyStroke = null;
-		} else if (triggerKey
-				.equals(PreferenceConstants.PREF_CONTENTASSISTKEYAUTOSUBSET)) {
-			keyStroke = null;
-			autoActivationCharacters = new char[] { 't', 'd' };
-		} else {
-			try {
-				keyStroke = KeyStroke.getInstance(triggerKey);
-			} catch (ParseException e) {
-				keyStroke = KeyStroke.getInstance(SWT.F10);
-			}
-		}
-
-		ContentProposalAdapter adapter = new ContentProposalAdapter(control,
-				contentAdapter, getContentProposalProvider(), keyStroke,
-				autoActivationCharacters) {
-			public void closeProposalPopup() {
-				closeProposalPopup();
-			}
-		};
-		adapter.setAutoActivationDelay(autoActivationDelay);
-		adapter.setPropagateKeys(propagate);
-		adapter.setFilterStyle(getContentAssistFilterStyle());
-		adapter.setProposalAcceptanceStyle(getContentAssistAcceptance());
-	}
-
-	private IContentProposalProvider getContentProposalProvider() {
-		return new IContentProposalProvider() {
-			public IContentProposal[] getProposals(String contents, int position) {
-				IContentProposal[] proposals = new IContentProposal[validUsers.length];
-				for (int i = 0; i < validUsers.length; i++) {
-					final String user = validUsers[i];
-					proposals[i] = new IContentProposal() {
-						public String getContent() {
-							return user;
-						}
-
-						public String getLabel() {
-							return user;
-						}
-
-						public String getDescription() {
-							if (showSecondaryPopup)
-								return MessageFormat
-										.format(
-												TaskAssistExampleMessages.ExampleDialog_ProposalDescription,
-												new String[] { user });
-							return null;
-						}
-
-						public int getCursorPosition() {
-							return user.length();
-						}
-					};
-				}
-				return proposals;
-			}
-		};
-	}
-
-	private int getContentAssistAcceptance() {
-		IPreferenceStore store = FieldAssistPlugin.getDefault()
-				.getPreferenceStore();
-		String acceptanceStyle = store
-				.getString(PreferenceConstants.PREF_CONTENTASSISTRESULT);
-		if (acceptanceStyle
-				.equals(PreferenceConstants.PREF_CONTENTASSISTRESULT_INSERT))
-			return ContentProposalAdapter.PROPOSAL_INSERT;
-		if (acceptanceStyle
-				.equals(PreferenceConstants.PREF_CONTENTASSISTRESULT_REPLACE))
-			return ContentProposalAdapter.PROPOSAL_REPLACE;
-		return ContentProposalAdapter.PROPOSAL_IGNORE;
-	}
-
-	private int getContentAssistFilterStyle() {
-		IPreferenceStore store = FieldAssistPlugin.getDefault()
-				.getPreferenceStore();
-		String acceptanceStyle = store
-				.getString(PreferenceConstants.PREF_CONTENTASSISTFILTER);
-		if (acceptanceStyle
-				.equals(PreferenceConstants.PREF_CONTENTASSISTFILTER_CHAR))
-			return ContentProposalAdapter.FILTER_CHARACTER;
-		if (acceptanceStyle
-				.equals(PreferenceConstants.PREF_CONTENTASSISTFILTER_CUMULATIVE))
-			return ContentProposalAdapter.FILTER_CUMULATIVE;
-		return ContentProposalAdapter.FILTER_NONE;
-	}
-
-	void addRequiredFieldIndicator(Label label) {
-		String text = label.getText();
-		// This concatenation could be done by a field assist helper.
-		text = text.concat("*");
-		label.setText(text);
-	}
-
-	FieldDecoration getRequiredFieldDecoration() {
-		return FieldDecorationRegistry.getDefault().getFieldDecoration(
-				FieldDecorationRegistry.DEC_REQUIRED);
-	}
-
-	int getDecorationLocationBits() {
-		IPreferenceStore store = FieldAssistPlugin.getDefault()
-				.getPreferenceStore();
-		int bits = 0;
-		String vert = store
-				.getString(PreferenceConstants.PREF_DECORATOR_VERTICALLOCATION);
-		if (vert
-				.equals(PreferenceConstants.PREF_DECORATOR_VERTICALLOCATION_BOTTOM)) {
-			bits = SWT.BOTTOM;
-		} else if (vert
-				.equals(PreferenceConstants.PREF_DECORATOR_VERTICALLOCATION_CENTER)) {
-			bits = SWT.CENTER;
-		} else {
-			bits = SWT.TOP;
-		}
-
-		String horz = store
-				.getString(PreferenceConstants.PREF_DECORATOR_HORIZONTALLOCATION);
-		if (horz
-				.equals(PreferenceConstants.PREF_DECORATOR_HORIZONTALLOCATION_RIGHT)) {
-			bits |= SWT.RIGHT;
-		} else {
-			bits |= SWT.LEFT;
-		}
-		return bits;
-	}
-
-	void createSecurityGroup(Composite parent) {
-
-		Group main = new Group(parent, SWT.NONE);
-		main.setLayoutData(new GridData(GridData.FILL_BOTH));
-		main.setText(TaskAssistExampleMessages.ExampleDialog_SecurityGroup);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		main.setLayout(layout);
-
-		Label label = new Label(main, SWT.LEFT);
-		label.setText(TaskAssistExampleMessages.ExampleDialog_UserName);
-
-		// Create a field representing a user name
-		Text text = new Text(main, SWT.BORDER);
-		ControlDecoration dec = new ControlDecoration(text,
-				getDecorationLocationBits());
-		dec.setMarginWidth(marginWidth);
-		dec.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent event) {
-				MessageDialog
-						.openInformation(
-								getShell(),
-								TaskAssistExampleMessages.ExampleDialog_SelectionTitle,
-								TaskAssistExampleMessages.ExampleDialog_SelectionMessage);
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// Nothing on default select
-			}
-		});
-
-		textField = new UserField(dec, text, new TextContentAdapter());
-		dec.addMenuDetectListener(new MenuDetectListener() {
-			public void menuDetected(MenuDetectEvent event) {
-				// no quick fix if we aren't in error state.
-				if (textField.isValid()) {
-					return;
-				}
-				if (textField.quickFixMenu == null) {
-					textField.quickFixMenu = createQuickFixMenu(textField);
-				}
-				textField.quickFixMenu.setLocation(event.x, event.y);
-				textField.quickFixMenu.setVisible(true);
-			}
-		});
-		if (showRequiredFieldLabelIndicator && textField.isRequiredField()) {
-			addRequiredFieldIndicator(label);
-		}
-		text.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent event) {
-				handleModify(textField);
-			}
-		});
-
-		text.setText(username);
-		installContentProposalAdapter(text, new TextContentAdapter());
-		text.setLayoutData(getFieldGridData());
-
-		label = new Label(main, SWT.LEFT);
-		label.setText(TaskAssistExampleMessages.ExampleDialog_ComboUserName);
-
-		// Create a combo field representing a user name
-		Combo combo = new Combo(main, SWT.BORDER | SWT.DROP_DOWN);
-		dec = new ControlDecoration(combo, getDecorationLocationBits());
-		dec.setMarginWidth(marginWidth);
-		comboField = new UserField(dec, combo, new ComboContentAdapter());
-
-		dec.addMenuDetectListener(new MenuDetectListener() {
-			public void menuDetected(MenuDetectEvent event) {
-				// no quick fix if we aren't in error state.
-				if (comboField.isValid()) {
-					return;
-				}
-				if (comboField.quickFixMenu == null) {
-					comboField.quickFixMenu = createQuickFixMenu(comboField);
-				}
-				comboField.quickFixMenu.setLocation(event.x, event.y);
-				comboField.quickFixMenu.setVisible(true);
-			}
-		});
-		dec.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent event) {
-				MessageDialog
-						.openInformation(
-								getShell(),
-								TaskAssistExampleMessages.ExampleDialog_DefaultSelectionTitle,
-								TaskAssistExampleMessages.ExampleDialog_DefaultSelectionMessage);
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				// Do nothing on selection
-			}
-		});
-
-		if (showRequiredFieldLabelIndicator) {
-			addRequiredFieldIndicator(label);
-		}
-		combo.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent event) {
-				handleModify(comboField);
-			}
-		});
-
-		combo.setText(username);
-		combo.setItems(validUsers);
-		combo.setLayoutData(getFieldGridData());
-		installContentProposalAdapter(combo, new ComboContentAdapter());
-
-		// Create a spinner representing a user age
-		label = new Label(main, SWT.LEFT);
-		label.setText(TaskAssistExampleMessages.ExampleDialog_Age);
-
-		Spinner spinner = new Spinner(main, SWT.BORDER);
-		dec = new ControlDecoration(spinner, getDecorationLocationBits());
-		dec.setMarginWidth(marginWidth);
-
-		if (showRequiredFieldLabelIndicator) {
-			addRequiredFieldIndicator(label);
-		}
-		final SmartField spinnerField = new AgeField(dec, spinner,
-				new SpinnerContentAdapter());
-		spinner.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent event) {
-				handleModify(spinnerField);
-			}
-		});
-		spinner.setSelection(40);
-		spinner.setLayoutData(getFieldGridData());
-
-		// This field has no decorator
-		label = new Label(main, SWT.LEFT);
-		label.setText(TaskAssistExampleMessages.ExampleDialog_Password);
-		text = new Text(main, SWT.BORDER);
-		text.setText("******"); //$NON-NLS-1$
-		text.setLayoutData(getFieldGridData());
-		if (showRequiredFieldLabelIndicator) {
-			addRequiredFieldIndicator(label);
-		}
-	}
-
-	Menu createQuickFixMenu(final SmartField field) {
-		Menu newMenu = new Menu(field.control);
-		MenuItem item = new MenuItem(newMenu, SWT.PUSH);
-		item
-				.setText(TaskAssistExampleMessages.ExampleDialog_DecorationMenuItem);
-		item.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent event) {
-				field.quickFix();
-			}
-
-			public void widgetDefaultSelected(SelectionEvent event) {
-
-			}
-		});
-		return newMenu;
-	}
-
-	void showErrorDecoration(SmartField smartField, boolean show) {
-		FieldDecoration dec = smartField.getErrorDecoration();
-		ControlDecoration cd = smartField.controlDecoration;
-		if (show) {
-			cd.setImage(dec.getImage());
-			cd.setDescriptionText(dec.getDescription());
-			cd.setShowOnlyOnFocus(false);
-			cd.show();
-		} else {
-			cd.hide();
-		}
-	}
-
-	void showWarningDecoration(SmartField smartField, boolean show) {
-		FieldDecoration dec = smartField.getWarningDecoration();
-		ControlDecoration cd = smartField.controlDecoration;
-		if (show) {
-			cd.setImage(dec.getImage());
-			cd.setDescriptionText(dec.getDescription());
-			cd.setShowOnlyOnFocus(false);
-			cd.show();
-		} else {
-			cd.hide();
-		}
-	}
-
-	void showRequiredFieldDecoration(SmartField smartField, boolean show) {
-		FieldDecoration dec = getRequiredFieldDecoration();
-		ControlDecoration cd = smartField.controlDecoration;
-		if (show) {
-			cd.setImage(dec.getImage());
-			cd.setDescriptionText(dec.getDescription());
-			cd.setShowOnlyOnFocus(false);
-			cd.show();
-		} else {
-			cd.hide();
-		}
-	}
-
-	void showContentAssistDecoration(SmartField smartField, boolean show) {
-		FieldDecoration dec = getCueDecoration();
-		ControlDecoration cd = smartField.controlDecoration;
-		if (show) {
-			cd.setImage(dec.getImage());
-			cd.setDescriptionText(dec.getDescription());
-			cd.setShowOnlyOnFocus(true);
-			cd.show();
-		} else {
-			cd.hide();
-		}
-	}
-
-	public boolean close() {
-		textField.dispose();
-		comboField.dispose();
-		return super.close();
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/TaskAssistExampleMessages.java b/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/TaskAssistExampleMessages.java
deleted file mode 100644
index 9141805..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/TaskAssistExampleMessages.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.fieldassist;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message class for the undo example.
- * 
- */
-public class TaskAssistExampleMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.ui.examples.fieldassist.messages";//$NON-NLS-1$
-
-	public static String Preferences_ContentAssistKey;
-	public static String Preferences_ContentAssistKeyPropagate;
-	public static String Preferences_ContentAssistResult;
-	public static String Preferences_ContentAssistResultReplace;
-	public static String Preferences_ContentAssistResultInsert;
-	public static String Preferences_ContentAssistResultNone;
-	public static String Preferences_ContentAssistFilter;
-	public static String Preferences_ContentAssistFilterCumulative;
-	public static String Preferences_ContentAssistFilterCharacter;
-	public static String Preferences_ContentAssistFilterNone;
-	public static String Preferences_ShowSecondaryPopup;
-	public static String Preferences_ContentAssistDelay;
-	public static String Preferences_ErrorIndicator;
-	public static String Preferences_ShowErrorMessage;
-	public static String Preferences_ShowErrorDecorator;
-	public static String Preferences_ShowWarningDecorator;
-	public static String Preferences_ShowProposalCue;
-	public static String Preferences_RequiredFieldIndicator;
-	public static String Preferences_ShowRequiredFieldDecorator;
-	public static String Preferences_ShowRequiredFieldLabelIndicator;
-	public static String Preferences_Description;
-	public static String Preferences_ContentAssistDescription;
-	public static String Preferences_DecoratorDetails;
-	public static String Preferences_DecoratorImpl;
-	public static String Preferences_DecoratorVert;
-	public static String Preferences_DecoratorTop;
-	public static String Preferences_DecoratorCenter;
-	public static String Preferences_DecoratorBottom;
-	public static String Preferences_DecoratorHorz;
-	public static String Preferences_DecoratorLeft;
-	public static String Preferences_DecoratorRight;
-	public static String Preferences_DecoratorMargin;
-	public static String Decorator_Warning;
-	public static String Decorator_Error;
-	public static String Decorator_ContentAssist;
-
-	public static String ExampleDialog_UserError;
-	public static String ExampleDialog_WarningName;
-	public static String ExampleDialog_UserWarning;
-	public static String ExampleDialog_AgeWarning;
-	public static String ExampleDialog_Title;
-	public static String ExampleDialog_SecurityGroup;
-	public static String ExampleDialog_AutoCompleteGroup;
-	public static String ExampleDialog_UserName;
-	public static String ExampleDialog_ComboUserName;
-	public static String ExampleDialog_Age;
-	public static String ExampleDialog_Password;
-	public static String ExampleDialog_ProposalDescription;
-	public static String ExampleDialog_DefaultSelectionTitle;
-	public static String ExampleDialog_DefaultSelectionMessage;
-	public static String ExampleDialog_SelectionTitle;
-	public static String ExampleDialog_SelectionMessage;
-	public static String ExampleDialog_DecorationMenuItem;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, TaskAssistExampleMessages.class);
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/actions/TestDialogAction.java b/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/actions/TestDialogAction.java
deleted file mode 100644
index f07fc86..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/actions/TestDialogAction.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.fieldassist.actions;
-
-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.examples.fieldassist.FieldAssistTestDialog;
-
-/**
- * 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 TestDialogAction implements IWorkbenchWindowActionDelegate {
-	private IWorkbenchWindow window;
-
-	/**
-	 * The constructor.
-	 */
-	public TestDialogAction() {
-	}
-
-	/**
-	 * The action has been activated. The argument of the method represents the
-	 * 'real' action sitting in the workbench UI.
-	 * 
-	 * @see IWorkbenchWindowActionDelegate#run
-	 */
-	public void run(IAction action) {
-		new FieldAssistTestDialog(window.getShell(), "tom").open();
-	}
-
-	/**
-	 * Selection in the workbench has been changed. We can change the state of
-	 * the 'real' action here if we want, but this can only happen after the
-	 * delegate has been created.
-	 * 
-	 * @see IWorkbenchWindowActionDelegate#selectionChanged
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-
-	/**
-	 * We can use this method to dispose of any system resources we previously
-	 * allocated.
-	 * 
-	 * @see IWorkbenchWindowActionDelegate#dispose
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * We will cache window object in order to be able to provide parent shell
-	 * for the dialog.
-	 * 
-	 * @see IWorkbenchWindowActionDelegate#init
-	 */
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/messages.properties b/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/messages.properties
deleted file mode 100644
index dc4f021..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/messages.properties
+++ /dev/null
@@ -1,65 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Sebastian Davids <sdavids@gmx.de> - bug 132479 - [FieldAssist] Field assist example improvements
-###############################################################################
-
-########### Preferences ###########################
-Preferences_RequiredFieldIndicator = Showing Required Fields:
-Preferences_ShowRequiredFieldLabelIndicator = Show required field indicator in field's label
-Preferences_ShowRequiredFieldDecorator = Decorate required fields
-Preferences_ContentAssistKey = Content Assist Key:
-Preferences_ContentAssistKeyPropagate = Propagate keystrokes to control when popup is active
-Preferences_ShowProposalCue = Decorate fields that have content assist
-Preferences_ShowSecondaryPopup = Show a secondary popup further describing the proposal
-Preferences_ContentAssistDelay = Delay (in milliseconds) when content assist is auto-activated:
-Preferences_ErrorIndicator = Showing Errors:
-Preferences_ShowErrorMessage = Show errors in status area of dialog
-Preferences_ShowErrorDecorator = Decorate fields that have errors
-Preferences_ShowWarningDecorator = Decorate fields that have warnings
-Preferences_Description = This page controls the decorations used in the example dialog.
-Preferences_DecoratorDetails = Other Decorators:
-Preferences_DecoratorImpl = Decorator implementation class:
-Preferences_DecoratorVert = Vertical location:
-Preferences_DecoratorTop = SWT.TOP
-Preferences_DecoratorCenter = SWT.CENTER
-Preferences_DecoratorBottom = SWT.BOTTOM
-Preferences_DecoratorHorz = Horizontal location:
-Preferences_DecoratorLeft = SWT.LEFT
-Preferences_DecoratorRight = SWT.RIGHT
-Preferences_DecoratorMargin = Margin width:
-Preferences_ContentAssistDescription = This page controls the behavior of the content assist.
-Preferences_ContentAssistResult = When a content proposal is chosen:
-Preferences_ContentAssistResultReplace = Replace field content
-Preferences_ContentAssistResultInsert = Insert into field content
-Preferences_ContentAssistResultNone = Custom behavior (none)
-Preferences_ContentAssistFilter = When typing while popup is open:
-Preferences_ContentAssistFilterCumulative = Filter popup content with cumulative typing
-Preferences_ContentAssistFilterCharacter = Filter popup according to last character typed
-Preferences_ContentAssistFilterNone = No filtering
-Decorator_Warning = User name bob is too casual
-Decorator_Error = User name can only contain letters
-Decorator_ContentAssist = Content assist available for this field, press {0}
-ExampleDialog_UserError=User name must only contain letters.  Use QuickFix Menu.
-ExampleDialog_WarningName=bob
-ExampleDialog_UserWarning=Bob is entirely too casual a name.
-ExampleDialog_AgeWarning=May be eligible for senior citizen user status
-ExampleDialog_Title=Field Assist Example
-ExampleDialog_SecurityGroup=&Security info
-ExampleDialog_AutoCompleteGroup=&Autocomplete example
-ExampleDialog_UserName=&User name:
-ExampleDialog_ComboUserName=&Combo user name:
-ExampleDialog_Age=&Age:
-ExampleDialog_Password=&Password:
-ExampleDialog_ProposalDescription={0} is a wonderful choice and you should seriously consider it.
-ExampleDialog_DefaultSelectionTitle=Default Selection
-ExampleDialog_DefaultSelectionMessage=The decoration was double clicked.
-ExampleDialog_SelectionTitle=Selection
-ExampleDialog_SelectionMessage=The decoration was selected.
-ExampleDialog_DecorationMenuItem=Remove illegal characters
diff --git a/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/preferences/ContentAssistPreferencePage.java b/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/preferences/ContentAssistPreferencePage.java
deleted file mode 100644
index f7b9b89..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/preferences/ContentAssistPreferencePage.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.fieldassist.preferences;
-
-import org.eclipse.jface.preference.*;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.examples.fieldassist.FieldAssistPlugin;
-import org.eclipse.ui.examples.fieldassist.TaskAssistExampleMessages;
-
-/**
- * This class represents a preference page that is contributed to the
- * Preferences dialog. By subclassing <samp>FieldEditorPreferencePage</samp>,
- * we can use the field support built into JFace that allows us to create a page
- * that is small and knows how to save, restore and apply itself.
- * <p>
- * This page is used to modify preferences only. They are stored in the
- * preference store that belongs to the main plug-in class. That way,
- * preferences can be accessed directly via the preference store.
- */
-
-public class ContentAssistPreferencePage extends FieldEditorPreferencePage
-		implements IWorkbenchPreferencePage {
-
-	/**
-	 *  Create a ContentAssistPreferencePage
-	 */
-	public ContentAssistPreferencePage() {
-		super(GRID);
-		setPreferenceStore(FieldAssistPlugin.getDefault().getPreferenceStore());
-		setDescription(TaskAssistExampleMessages.Preferences_ContentAssistDescription);
-	}
-
-	/**
-	 * Creates the field editors. Field editors are abstractions of the common
-	 * GUI blocks needed to manipulate various types of preferences. Each field
-	 * editor knows how to save and
-	 */
-	public void createFieldEditors() {
-		addField(new RadioGroupFieldEditor(
-				PreferenceConstants.PREF_CONTENTASSISTKEY,
-				TaskAssistExampleMessages.Preferences_ContentAssistKey,
-				1,
-				new String[][] {
-						{ PreferenceConstants.PREF_CONTENTASSISTKEY1,
-								PreferenceConstants.PREF_CONTENTASSISTKEY1 },
-						{ PreferenceConstants.PREF_CONTENTASSISTKEY2,
-								PreferenceConstants.PREF_CONTENTASSISTKEY2 },
-						{ PreferenceConstants.PREF_CONTENTASSISTKEYAUTO,
-								PreferenceConstants.PREF_CONTENTASSISTKEYAUTO },
-						{ PreferenceConstants.PREF_CONTENTASSISTKEYAUTOSUBSET,
-								PreferenceConstants.PREF_CONTENTASSISTKEYAUTOSUBSET }, },
-				getFieldEditorParent()));
-		
-		IntegerFieldEditor editor = new IntegerFieldEditor(
-				PreferenceConstants.PREF_CONTENTASSISTDELAY,
-				TaskAssistExampleMessages.Preferences_ContentAssistDelay,
-				getFieldEditorParent());
-		editor.setValidRange(0, 10000);
-		addField(editor);
-
-		addField(new BooleanFieldEditor(
-				PreferenceConstants.PREF_CONTENTASSISTKEY_PROPAGATE,
-				TaskAssistExampleMessages.Preferences_ContentAssistKeyPropagate,
-				getFieldEditorParent()));
-
-		addField(new BooleanFieldEditor(
-				PreferenceConstants.PREF_SHOWSECONDARYPOPUP,
-				TaskAssistExampleMessages.Preferences_ShowSecondaryPopup,
-				getFieldEditorParent()));
-
-		addField(new RadioGroupFieldEditor(
-				PreferenceConstants.PREF_CONTENTASSISTRESULT,
-				TaskAssistExampleMessages.Preferences_ContentAssistResult,
-				1,
-				new String[][] {
-						{
-								TaskAssistExampleMessages.Preferences_ContentAssistResultReplace,
-								PreferenceConstants.PREF_CONTENTASSISTRESULT_REPLACE },
-						{
-								TaskAssistExampleMessages.Preferences_ContentAssistResultInsert,
-								PreferenceConstants.PREF_CONTENTASSISTRESULT_INSERT },
-						{
-								TaskAssistExampleMessages.Preferences_ContentAssistResultNone,
-								PreferenceConstants.PREF_CONTENTASSISTRESULT_NONE } },
-				getFieldEditorParent()));
-		
-		addField(new RadioGroupFieldEditor(
-				PreferenceConstants.PREF_CONTENTASSISTFILTER,
-				TaskAssistExampleMessages.Preferences_ContentAssistFilter,
-				1,
-				new String[][] {
-						{
-								TaskAssistExampleMessages.Preferences_ContentAssistFilterCharacter,
-								PreferenceConstants.PREF_CONTENTASSISTFILTER_CHAR },
-						{
-								TaskAssistExampleMessages.Preferences_ContentAssistFilterCumulative,
-								PreferenceConstants.PREF_CONTENTASSISTFILTER_CUMULATIVE },
-						{
-								TaskAssistExampleMessages.Preferences_ContentAssistFilterNone,
-								PreferenceConstants.PREF_CONTENTASSISTFILTER_NONE } },
-				getFieldEditorParent()));
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/preferences/FieldAssistPreferencePage.java b/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/preferences/FieldAssistPreferencePage.java
deleted file mode 100644
index 4d4071e..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/preferences/FieldAssistPreferencePage.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Sebastian Davids <sdavids@gmx.de> - bug 132479 - [FieldAssist] Field assist example improvements
- *******************************************************************************/
-package org.eclipse.ui.examples.fieldassist.preferences;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.examples.fieldassist.FieldAssistPlugin;
-import org.eclipse.ui.examples.fieldassist.TaskAssistExampleMessages;
-
-/**
- * This class represents a preference page that is contributed to the
- * Preferences dialog. By subclassing <samp>FieldEditorPreferencePage</samp>,
- * we can use the field support built into JFace that allows us to create a page
- * that is small and knows how to save, restore and apply itself.
- * <p>
- * This page is used to modify preferences only. They are stored in the
- * preference store that belongs to the main plug-in class. That way,
- * preferences can be accessed directly via the preference store.
- */
-
-public class FieldAssistPreferencePage extends FieldEditorPreferencePage
-		implements IWorkbenchPreferencePage {
-
-	/**
-	 * Create the FieldAssistPreferencePage
-	 */
-	public FieldAssistPreferencePage() {
-		super(GRID);
-		setPreferenceStore(FieldAssistPlugin.getDefault().getPreferenceStore());
-		setDescription(TaskAssistExampleMessages.Preferences_Description);
-	}
-
-	/**
-	 * Creates the field editors. Field editors are abstractions of the common
-	 * GUI blocks needed to manipulate various types of preferences. Each field
-	 * editor knows how to save and
-	 */
-	public void createFieldEditors() {
-		addField(new RadioGroupFieldEditor(
-				PreferenceConstants.PREF_DECORATOR_VERTICALLOCATION,
-				TaskAssistExampleMessages.Preferences_DecoratorVert,
-				1,
-				new String[][] {
-						{
-								TaskAssistExampleMessages.Preferences_DecoratorTop,
-								PreferenceConstants.PREF_DECORATOR_VERTICALLOCATION_TOP },
-						{
-								TaskAssistExampleMessages.Preferences_DecoratorCenter,
-								PreferenceConstants.PREF_DECORATOR_VERTICALLOCATION_CENTER },
-						{
-								TaskAssistExampleMessages.Preferences_DecoratorBottom,
-								PreferenceConstants.PREF_DECORATOR_VERTICALLOCATION_BOTTOM } },
-				getFieldEditorParent()));
-
-		addField(new RadioGroupFieldEditor(
-				PreferenceConstants.PREF_DECORATOR_HORIZONTALLOCATION,
-				TaskAssistExampleMessages.Preferences_DecoratorHorz,
-				1,
-				new String[][] {
-						{
-								TaskAssistExampleMessages.Preferences_DecoratorLeft,
-								PreferenceConstants.PREF_DECORATOR_HORIZONTALLOCATION_LEFT },
-						{
-								TaskAssistExampleMessages.Preferences_DecoratorRight,
-								PreferenceConstants.PREF_DECORATOR_HORIZONTALLOCATION_RIGHT } },
-				getFieldEditorParent()));
-
-		IntegerFieldEditor editor = new IntegerFieldEditor(
-				PreferenceConstants.PREF_DECORATOR_MARGINWIDTH,
-				TaskAssistExampleMessages.Preferences_DecoratorMargin,
-				getFieldEditorParent());
-		editor.setValidRange(0, 10);
-		addField(editor);
-
-		Label label = new Label(getFieldEditorParent(), SWT.WRAP);
-		label.setText(TaskAssistExampleMessages.Preferences_ErrorIndicator);
-		addField(new BooleanFieldEditor(
-				PreferenceConstants.PREF_SHOWERRORMESSAGE,
-				TaskAssistExampleMessages.Preferences_ShowErrorMessage,
-				getFieldEditorParent()));
-
-		addField(new BooleanFieldEditor(
-				PreferenceConstants.PREF_SHOWERRORDECORATION,
-				TaskAssistExampleMessages.Preferences_ShowErrorDecorator,
-				getFieldEditorParent()));
-
-		label = new Label(getFieldEditorParent(), SWT.WRAP);
-		label
-				.setText(TaskAssistExampleMessages.Preferences_RequiredFieldIndicator);
-		addField(new BooleanFieldEditor(
-				PreferenceConstants.PREF_SHOWREQUIREDFIELDLABELINDICATOR,
-				TaskAssistExampleMessages.Preferences_ShowRequiredFieldLabelIndicator,
-				getFieldEditorParent()));
-
-		addField(new BooleanFieldEditor(
-				PreferenceConstants.PREF_SHOWREQUIREDFIELDDECORATION,
-				TaskAssistExampleMessages.Preferences_ShowRequiredFieldDecorator,
-				getFieldEditorParent()));
-
-		label = new Label(getFieldEditorParent(), SWT.WRAP);
-		label.setText(TaskAssistExampleMessages.Preferences_DecoratorDetails);
-		addField(new BooleanFieldEditor(
-				PreferenceConstants.PREF_SHOWWARNINGDECORATION,
-				TaskAssistExampleMessages.Preferences_ShowWarningDecorator,
-				getFieldEditorParent()));
-		addField(new BooleanFieldEditor(
-				PreferenceConstants.PREF_SHOWCONTENTPROPOSALCUE,
-				TaskAssistExampleMessages.Preferences_ShowProposalCue,
-				getFieldEditorParent()));
-
-		Dialog.applyDialogFont(getFieldEditorParent());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/preferences/PreferenceConstants.java b/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/preferences/PreferenceConstants.java
deleted file mode 100644
index 4d7bf21..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/preferences/PreferenceConstants.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Sebastian Davids <sdavids@gmx.de> - bug 132479 - [FieldAssist] Field assist example improvements
- *******************************************************************************/
-package org.eclipse.ui.examples.fieldassist.preferences;
-
-/**
- * Constant definitions for plug-in preferences
- */
-public class PreferenceConstants {	
-	public static final String PREF_DECORATOR_VERTICALLOCATION = "prefDecoratorVerticalLocation";
-	public static final String PREF_DECORATOR_VERTICALLOCATION_TOP = "prefDecoratorVerticalTop";
-	public static final String PREF_DECORATOR_VERTICALLOCATION_CENTER = "prefDecoratorVerticalCenter";
-	public static final String PREF_DECORATOR_VERTICALLOCATION_BOTTOM = "prefDecoratorVerticalBottom";
-	public static final String PREF_DECORATOR_HORIZONTALLOCATION = "prefDecoratorHorizontalLocation";
-	public static final String PREF_DECORATOR_HORIZONTALLOCATION_LEFT = "prefDecoratorHorizontalLeft";
-	public static final String PREF_DECORATOR_HORIZONTALLOCATION_RIGHT = "prefDecoratorHorizontalRight";
-	
-	public static final String PREF_DECORATOR_MARGINWIDTH = "prefDecoratorMarginWidth";
-
-	public static final String PREF_SHOWERRORDECORATION = "prefShowErrorDecoration";
-	public static final String PREF_SHOWERRORMESSAGE = "prefShowErrorMessage";
-	
-	public static final String PREF_SHOWWARNINGDECORATION = "prefShowWarningDecoration";
-	
-	public static final String PREF_SHOWREQUIREDFIELDDECORATION = "prefShowRequiredFieldDecoration";
-	public static final String PREF_SHOWREQUIREDFIELDLABELINDICATOR = "prefShowRequiredFieldLabelIndicator";	
-	
-	public static final String PREF_SHOWCONTENTPROPOSALCUE = "prefShowContentProposalCue";	
-
-	public static final String PREF_SHOWSECONDARYPOPUP = "prefShowSecondaryPopup";
-	public static final String PREF_CONTENTASSISTKEY_PROPAGATE = "prefContentAssistKeyPropagate";
-	public static final String PREF_CONTENTASSISTDELAY = "prefContentAssistDelay";
-
-	public static final String PREF_CONTENTASSISTKEY = "prefContentAssistKey";
-	public static final String PREF_CONTENTASSISTKEY1 = "Ctrl+Space";
-	public static final String PREF_CONTENTASSISTKEY2 = "*";
-	public static final String PREF_CONTENTASSISTKEYAUTO = "Alphanumeric key (on auto-activate delay)";
-	public static final String PREF_CONTENTASSISTKEYAUTOSUBSET = "t, d (on auto-activate delay)";
-	
-	public static final String PREF_CONTENTASSISTRESULT = "prefContentResult";
-	public static final String PREF_CONTENTASSISTRESULT_REPLACE = "replace";
-	public static final String PREF_CONTENTASSISTRESULT_INSERT = "insert";
-	public static final String PREF_CONTENTASSISTRESULT_NONE = "none";
-	
-	public static final String PREF_CONTENTASSISTFILTER = "prefContentAssistFilter";
-	public static final String PREF_CONTENTASSISTFILTER_CUMULATIVE = "cumulative filter";
-	public static final String PREF_CONTENTASSISTFILTER_CHAR = "character filter";
-	public static final String PREF_CONTENTASSISTFILTER_NONE = "none";
-}
diff --git a/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/preferences/PreferenceInitializer.java b/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/preferences/PreferenceInitializer.java
deleted file mode 100644
index e4c3c13..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/Eclipse UI Examples Field Assist/org/eclipse/ui/examples/fieldassist/preferences/PreferenceInitializer.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.fieldassist.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.eclipse.ui.examples.fieldassist.FieldAssistPlugin;
-
-/**
- * Class used to initialize default preference values.
- */
-public class PreferenceInitializer extends AbstractPreferenceInitializer {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		IPreferenceStore store = FieldAssistPlugin.getDefault()
-				.getPreferenceStore();
-		store.setDefault(PreferenceConstants.PREF_SHOWERRORDECORATION, true);
-		store.setDefault(PreferenceConstants.PREF_SHOWERRORMESSAGE, true);
-		store.setDefault(PreferenceConstants.PREF_SHOWWARNINGDECORATION, true);
-		store.setDefault(PreferenceConstants.PREF_SHOWREQUIREDFIELDDECORATION,
-				false);
-		store.setDefault(
-				PreferenceConstants.PREF_SHOWREQUIREDFIELDLABELINDICATOR, true);
-		store.setDefault(PreferenceConstants.PREF_SHOWCONTENTPROPOSALCUE, true);
-		store.setDefault(PreferenceConstants.PREF_DECORATOR_HORIZONTALLOCATION,
-				PreferenceConstants.PREF_DECORATOR_HORIZONTALLOCATION_LEFT);
-		store.setDefault(PreferenceConstants.PREF_DECORATOR_VERTICALLOCATION,
-				PreferenceConstants.PREF_DECORATOR_VERTICALLOCATION_CENTER);
-		store.setDefault(PreferenceConstants.PREF_DECORATOR_MARGINWIDTH, 0);
-		store.setDefault(PreferenceConstants.PREF_CONTENTASSISTKEY,
-				PreferenceConstants.PREF_CONTENTASSISTKEY1);
-		store.setDefault(PreferenceConstants.PREF_CONTENTASSISTKEY_PROPAGATE,
-				false);
-		store.setDefault(PreferenceConstants.PREF_SHOWSECONDARYPOPUP, true);
-		store.setDefault(PreferenceConstants.PREF_CONTENTASSISTDELAY, 1000);
-		store.setDefault(PreferenceConstants.PREF_CONTENTASSISTRESULT,
-				PreferenceConstants.PREF_CONTENTASSISTRESULT_REPLACE);
-		store.setDefault(PreferenceConstants.PREF_CONTENTASSISTFILTER,
-				PreferenceConstants.PREF_CONTENTASSISTFILTER_CHAR);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.fieldassist/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.fieldassist/META-INF/MANIFEST.MF
deleted file mode 100644
index 24361a3..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.ui.examples.fieldassist; singleton:=true
-Bundle-Version: 1.0.0
-Bundle-Activator: org.eclipse.ui.examples.fieldassist.FieldAssistPlugin
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime
-Eclipse-LazyStart: true
diff --git a/examples/org.eclipse.ui.examples.fieldassist/about.html b/examples/org.eclipse.ui.examples.fieldassist/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.fieldassist/build.properties b/examples/org.eclipse.ui.examples.fieldassist/build.properties
deleted file mode 100644
index 0cf35a9..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = Eclipse UI Examples Field Assist/
-
-bin.includes = doc-html/,\
-               icons/,\
-               about.html,\
-               plugin.properties,\
-               plugin.xml,\
-               .,\
-               META-INF/
-
-src.includes = about.html
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.fieldassist/doc-html/hglegal.htm b/examples/org.eclipse.ui.examples.fieldassist/doc-html/hglegal.htm
deleted file mode 100644
index a41081e..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/doc-html/hglegal.htm
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <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.fieldassist/doc-html/ui_fieldassist_ex.html b/examples/org.eclipse.ui.examples.fieldassist/doc-html/ui_fieldassist_ex.html
deleted file mode 100644
index d437456..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/doc-html/ui_fieldassist_ex.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2006. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Workbench - Field Assist Example</title>
-</head>
-<body>
-
-<h2>
-<b>Example - Field Assist</b></h2>
-
-<h3>
-Introduction</h3>
-The Field Assist example shows how to use the support provided in <code>org.eclipse.jface.fieldassist</code>
-to provide task assistance in text fields.  An example dialog shows how to set up field decorations
-to indicate required fields, fields with errors and warnings, and fields that supply content assist or quick
-fix.  The 
-example also includes a preference page that 
-allows you to configure the decorations and the content assist support.
-<h3>
-Running the example</h3>
-When the plug-in is installed, you should see a FieldAssist action
-on the action bar.  Choose the menu item "Open Field Assist Dialog..."
-This will launch the field assist dialog.  The dialog can be configured
-using the example preferences.  
-<h4>
-Setting Field Assist Preferences</h4>
-<p>
-Two preference pages are provided for setting up the way the dialog
-behaves.  The <b>Field Assist Example Preferences</b> page allows you
-to configure how the dialog annotates fields with errors and warnings,
-required fields, and content assist.  A combination of decorations 
-can be used to annotate the fields.  This preference
-page is intended to show what is possible when configuring decorations.
-It is geared more toward the programmer trying out field assist, and
-is not intended to be an example of a good preference page for letting
-end users control the annotations.
-</p>
-<p>The <b>Content Assist
-Preferences</b> page allows you to configure how the content assist is 
-installed on the dialog text field.  Most of the options provided in the
-field assist API (ContentProposalAdapter) are configurable on this page.
-Note that it is possible to configure the content assist for an undesirable
-user experience.  For example, setting content assist to auto-activate on all
-characters using a long delay is not desirable.  It can be confusing
-to use cumulative proposal filtering when the filter keys are not propagated
-back to the control.  The purpose of exposing the API in the preference page is
-to allow the field assist programmer to try all possible combinations.
-It is not expected that any of these preferences would ever be exposed to
-an end user, but rather that the developer chooses the best combination of
-these values to provide a certain style of content assist.
-</p>
-<h4>Using the dialog</h4>
-<p>
-The example dialog shows several different ways to configure
-decorations and content proposal behavior in the first
-dialog group (Security group):
-<ul>
-<li> The <b>User name</b> field is configured as a required field with content
-assist.  This field is considered in error when a non-alphabetic character
-is typed in the field.  A quick fix menu is installed on the error decoration
-that allows the user to strip non-alphabetic characters.  The field is
-considered in a warning mode when the name "bob"
-is typed in the field.  This field also installs a default select (double-click) listener on
-the decoration to demonstrate the decoration listener interface.</li>
-<li>The <b>Combo user name</b> field is configured similarly, but uses a combo box 
-instead of a text field, and installs a selection (single click) listener on
-the decoration rather than a default select listener.</li>
-<li>The <b>Age</b> field demonstrates the use of a Spinner widget with decorations.
-It is configured as a required field, but does not provide an error state.  It
-is considered in a warning mode when an age greater than 65 is set.</li>
-<li>The <b>Password</b> field does not use any decorations or content assist.
-It is merely provided to demonstrate that non-decorated fields can be easily aligned
-with decorated fields.</li>
-</ul>
-</p>
-<p>
-The second dialog group shows how to use the AutoCompleteField to
-get automatic field completion without using a content assist key or
-decorator.
-</p>
-<h4>Example source code</h4>
-<p>
-The example dialog is not very complex, but is intended to demonstrate how to
-program field assist.  Some notes about the source code follow:
-<ul>
-<li>When using ControlDecoration, the layout code must ensure that there is
-enough margin space around the decoration to render the decoration.
-<li>The example plug-in registers standard field decorators for indicating
-the availability of content assist, marking a field as required, or marking
-a field that has an error with quick fix or warning.  In cases where a standard decorator
-description is used in all fields, the actual decorations from the registry are
-used.  In cases where the field provides a unique description of an error or warning, 
-a unique decoration containing the text is managed by the field. </li>
-<li>SmartField and its subclasses are used to provide field-specific 
-validation, error and warning messages, content retrieval, and optional quick fix for
-the different fields in the dialog.  We expect that applications provide
-similar frameworks (such as data binding) to achieve this goal.  SmartField
-is intended to show a simple technique for validating different fields inside
-a dialog.  It is not considered a robust example of a semantic field definition
-framework.</li>
-</ul>
-</p>
-</body>
-</html>
diff --git a/examples/org.eclipse.ui.examples.fieldassist/icons/sample.gif b/examples/org.eclipse.ui.examples.fieldassist/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.fieldassist/plugin.properties b/examples/org.eclipse.ui.examples.fieldassist/plugin.properties
deleted file mode 100644
index dad4c04..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/plugin.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Plugin.name = Field Assist Example
-Plugin.providerName = Eclipse.org
-MainPreferences.Name = Field Assist Example Preferences
-ContentAssistPreferences.Name = Content Assist Preferences
-Actions.ActionSetName = Field Assist Example Action Set
-Actions.ExampleMenu = Fiel&d Assist 
-Actions.TestDialogName = &Field Assist Test Dialog...
-Actions.TestDialogTooltip = Open a dialog that tests the field assist API
diff --git a/examples/org.eclipse.ui.examples.fieldassist/plugin.xml b/examples/org.eclipse.ui.examples.fieldassist/plugin.xml
deleted file mode 100644
index 1e0aa76..0000000
--- a/examples/org.eclipse.ui.examples.fieldassist/plugin.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%Actions.ActionSetName"
-            visible="true"
-            id="org.eclipse.ui.examples.fieldassist.actionSet">
-         <menu
-               label="%Actions.ExampleMenu"
-               id="exampleMenu">
-            <separator
-                  name="exampleGroup">
-            </separator>
-         </menu>
-         <action
-               label="%Actions.TestDialogName"
-               icon="icons/sample.gif"
-               class="org.eclipse.ui.examples.fieldassist.actions.TestDialogAction"
-               tooltip="%Actions.TestDialogTooltip"
-               menubarPath="exampleMenu/exampleGroup"
-               toolbarPath="exampleGroup"
-               id="org.eclipse.ui.examples.fieldassist.actions.ExampleAction">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%MainPreferences.Name"
-            class="org.eclipse.ui.examples.fieldassist.preferences.FieldAssistPreferencePage"
-            id="org.eclipse.ui.examples.fieldassist.preferences.FieldAssistPreferencePage">
-      </page>
-     <page
-            name="%ContentAssistPreferences.Name"
-            class="org.eclipse.ui.examples.fieldassist.preferences.ContentAssistPreferencePage"
-            category="org.eclipse.ui.examples.fieldassist.preferences.FieldAssistPreferencePage"
-            id="org.eclipse.ui.examples.fieldassist.preferences.ContentAssistPreferencePage">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.preferences">
-      <initializer
-            class="org.eclipse.ui.examples.fieldassist.preferences.PreferenceInitializer">
-      </initializer>
-   </extension>
-
-</plugin>
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/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.job/META-INF/MANIFEST.MF
deleted file mode 100644
index 108ff21..0000000
--- a/examples/org.eclipse.ui.examples.job/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Progress Examples Plug-in
-Bundle-SymbolicName: org.eclipse.ui.examples.job; singleton:=true
-Bundle-Version: 3.0.0
-Bundle-ClassPath: ProgressExamples.jar
-Bundle-Activator: org.eclipse.ui.examples.jobs.ProgressExamplesPlugin
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.examples.jobs,
- org.eclipse.ui.examples.jobs.actions,
- org.eclipse.ui.examples.jobs.views
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.ui.ide,
- org.eclipse.jface.text,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.ui.editors
-Eclipse-AutoStart: true
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/about.html b/examples/org.eclipse.ui.examples.job/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.ui.examples.job/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ 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 384a829..0000000
--- a/examples/org.eclipse.ui.examples.job/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.ProgressExamples.jar = src/
-bin.includes = plugin.xml,\
-               icons/,\
-               *.jar,\
-               ProgressExamples.jar,\
-               META-INF/
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 31339d4..0000000
--- a/examples/org.eclipse.ui.examples.job/plugin.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="Progress Examples"
-            id="ProgressExamples">
-      </category>
-      <view
-            name="Lazy Trees"
-            icon="icons/tree_view.gif"
-            category="ProgressExamples"
-            class="org.eclipse.ui.examples.jobs.views.LazyTreeView"
-            id="org.eclipse.ui.examples.jobs.views.LazyTreeView">
-      </view>
-      <view
-            name="Job Factory"
-            icon="icons/job_view.gif"
-            category="ProgressExamples"
-            class="org.eclipse.ui.examples.jobs.views.JobsView"
-            id="org.eclipse.ui.examples.jobs.views.JobsView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension
-            targetID="org.eclipse.ui.resourcePerspective">
-         <view
-               ratio="0.5"
-               relative="org.eclipse.ui.views.TaskList"
-               id="org.eclipse.ui.examples.jobs.views.LazyTreeView"
-               relationship="right">
-         </view>
-         <view
-               ratio="0.5"
-               relative="org.eclipse.ui.views.TaskList"
-               id="org.eclipse.ui.examples.jobs.views.JobsView"
-               relationship="right">
-         </view>
-      </perspectiveExtension>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="Job Example Actions"
-            visible="true"
-            id="ProgressExamples.actionSet">
-         <menu
-               label="&amp;Job"
-               id="sampleMenu">
-            <separator
-                  name="sampleGroup">
-            </separator>
-         </menu>
-         <action
-               label="&amp;Suspend Job Manager"
-               icon="icons/suspend.gif"
-               style="toggle"
-               class="org.eclipse.ui.examples.jobs.actions.SuspendJobManagerAction"
-               tooltip="Suspend the job manager"
-               menubarPath="sampleMenu/sampleGroup"
-               toolbarPath="sampleGroup"
-               id="org.eclipse.ui.examples.jobs.actions.SuspendJobManagerAction">
-         </action>
-         <action
-               label="&amp;Dump Job Information"
-               icon="icons/sample.gif"
-               class="org.eclipse.ui.examples.jobs.actions.DebugJobManagerAction"
-               tooltip="Dump job information"
-               menubarPath="sampleMenu/sampleGroup"
-               id="org.eclipse.ui.examples.jobs.actions.SuspendJobManagerAction">
-         </action>
-      </actionSet>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/BusyShowWhileDialog.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/BusyShowWhileDialog.java
deleted file mode 100644
index d6ef321..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/BusyShowWhileDialog.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.ui.examples.jobs;
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.IconAndMessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.progress.ProgressManager;
-/**
- *BusyShowWhileDialog is a test of busyShowWhile in a modal dialog.
- */
-public class BusyShowWhileDialog extends IconAndMessageDialog {
-	/**
-	 * @param parentShell
-	 * @todo Generated comment
-	 */
-	public BusyShowWhileDialog(Shell parentShell) {
-		super(parentShell);
-		message = "Busy While Test"; //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IconAndMessageDialog#getImage()
-	 */
-	protected Image getImage() {
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		super.createButtonsForButtonBar(parent);
-		Button detailsButton = createButton(parent, 4, "Start busy show while", false); //$NON-NLS-1$
-		detailsButton.addSelectionListener(new SelectionListener() {
-			/* (non-Javadoc)
-			 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-			 */
-			public void widgetSelected(SelectionEvent e) {
-				try {
-					ProgressManager.getInstance().busyCursorWhile(new IRunnableWithProgress() {
-						/* (non-Javadoc)
-						 * @see org.eclipse.jface.operation.IRunnableWithProgress#run(org.eclipse.core.runtime.IProgressMonitor)
-						 */
-						public void run(IProgressMonitor monitor) throws InvocationTargetException,
-								InterruptedException {
-							long time = System.currentTimeMillis();
-							long delay = PlatformUI.getWorkbench().getProgressService().getLongOperationTime();
-							long end = time + delay + delay;
-							while (end > System.currentTimeMillis()) {
-								final Shell myShell = BusyShowWhileDialog.this.getShell();
-								myShell.getDisplay().asyncExec(new Runnable() {
-									/* (non-Javadoc)
-									 * @see java.lang.Runnable#run()
-									 */
-									public void run() {
-										if(myShell.isDisposed())
-											return;
-										myShell.getDisplay().sleep();
-										myShell.setText(String.valueOf(System.currentTimeMillis()));
-									}
-								});
-							}
-						}
-					});
-				} catch (InvocationTargetException error) {
-					error.printStackTrace();
-				} catch (InterruptedException error) {
-					//ignore - in this context it means cancelation
-				}
-			}
-			/* (non-Javadoc)
-			 * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
-			 */
-			public void widgetDefaultSelected(SelectionEvent e) {
-				//do nothing
-			}
-		});
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/ProgressExamplesPlugin.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/ProgressExamplesPlugin.java
deleted file mode 100644
index 2100d3e..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/ProgressExamplesPlugin.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.ui.examples.jobs;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.examples.jobs.views.ProgressExampleAdapterFactory;
-import org.eclipse.ui.examples.jobs.views.SlowElement;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class ProgressExamplesPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static ProgressExamplesPlugin plugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public ProgressExamplesPlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static ProgressExamplesPlugin getDefault() {
-		return plugin;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		IAdapterManager m = Platform.getAdapterManager();
-		IAdapterFactory f = new ProgressExampleAdapterFactory();
-		m.registerAdapters(f, SlowElement.class);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/TestJob.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/TestJob.java
deleted file mode 100644
index 2a5461f..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/TestJob.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.jobs;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-/**
- * Base class for a simple test job with configurable parameters
- */
-public class TestJob extends Job {
-	/**
-	 * A family identifier for all test jobs
-	 */
-	public static final Object FAMILY_TEST_JOB = new Object();
-	/**
-	 * Total duration that the test job should sleep, in milliseconds.
-	 */
-	private long duration;
-	/**
-	 * Whether the test job should fail.
-	 */
-	private boolean failure;
-	/**
-	 * Whether the job should report unknown progress.
-	 */
-	private boolean unknown;
-	private boolean reschedule;
-	private long rescheduleWait;
-	/**
-	 * Creates a new test job
-	 * @param duration Total time that the test job should sleep, in milliseconds.
-	 * @param lock Whether the job should use a workspace scheduling rule
-	 * @param failure Whether the job should fail
-	 * @param indeterminate Whether the job should report indeterminate progress
-	 * @param rescheduleWait
-	 * @param reschedule
-	 */
-	public TestJob(long duration, boolean lock, boolean failure, boolean indeterminate, boolean reschedule, long rescheduleWait) {
-		super("Test job"); //$NON-NLS-1$
-		this.duration = duration;
-		this.failure = failure;
-		this.unknown = indeterminate;
-		this.reschedule = reschedule;
-		this.rescheduleWait = rescheduleWait;
-		if (lock)
-			setRule(ResourcesPlugin.getWorkspace().getRoot());
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.internal.jobs.InternalJob#belongsTo(java.lang.Object)
-	 */
-	public boolean belongsTo(Object family) {
-		if(family instanceof TestJob) {
-			return true;
-		}
-		return family == FAMILY_TEST_JOB;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus run(IProgressMonitor monitor) {
-		if (failure) {
-			MultiStatus result = new MultiStatus("org.eclipse.ui.examples.jobs", 1, "This is the MultiStatus message", new RuntimeException("This is the MultiStatus exception")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			result.add(new Status(IStatus.ERROR, "org.eclipse.ui.examples.jobs", 1, "This is the child status message", new RuntimeException("This is the child exception"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			return result;
-		}
-		final long sleep = 10;
-		int ticks = (int) (duration / sleep);
-		if(this.unknown)
-			monitor.beginTask(toString(), IProgressMonitor.UNKNOWN);
-		else
-			monitor.beginTask(toString(), ticks);
-		try {
-			for (int i = 0; i < ticks; i++) {
-				if (monitor.isCanceled())
-					return Status.CANCEL_STATUS;
-				monitor.subTask("Processing tick #" + i); //$NON-NLS-1$
-				try {
-					Thread.sleep(sleep);
-				} catch (InterruptedException e) {
-					return Status.CANCEL_STATUS;
-				}
-				monitor.worked(1);
-			}
-		} finally {
-			if(reschedule) 
-				schedule(rescheduleWait);
-			monitor.done();
-		}
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/TestJobRule.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/TestJobRule.java
deleted file mode 100644
index d8759f0..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/TestJobRule.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.ui.examples.jobs;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-
-/**
- * TestJobRule is a scheduling rules that makes all jobs sequential.
- *
- */
-public class TestJobRule implements ISchedulingRule {
-	private int jobOrder;
-
-	public TestJobRule(int order) {
-		jobOrder = order;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.jobs.ISchedulingRule#contains(org.eclipse.core.runtime.jobs.ISchedulingRule)
-	 */
-	public boolean contains(ISchedulingRule rule) {
-		if (rule instanceof IResource || rule instanceof TestJobRule)
-			return true;
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.jobs.ISchedulingRule#isConflicting(org.eclipse.core.runtime.jobs.ISchedulingRule)
-	 */
-	public boolean isConflicting(ISchedulingRule rule) {
-		if (!(rule instanceof TestJobRule))
-			return false;
-		return ((TestJobRule) rule).getJobOrder() >= jobOrder;
-	}
-
-	/**
-	 * Return the order of this rule.
-	 * @return
-	 */
-	public int getJobOrder() {
-		return jobOrder;
-	}
-
-}
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 c38aa63..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/UITestJob.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.jobs;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.progress.UIJob;
-/**
- * Base class for a simple test UI job with configurable parameters
- */
-public class UITestJob extends UIJob {
-	private long duration;
-	private boolean failure;
-	private boolean unknown;
-	public UITestJob(long duration, boolean lock, boolean failure, boolean indeterminate) {
-		super("Test job"); //$NON-NLS-1$
-		this.duration = duration;
-		this.failure = failure;
-		this.unknown = indeterminate;
-		
-		if (lock)
-			setRule(ResourcesPlugin.getWorkspace().getRoot());
-	}
-	public IStatus runInUIThread(IProgressMonitor monitor) {
-		if (failure)
-			throw new RuntimeException();
-		final long sleep = 10;
-		int ticks = (int) (duration / sleep);
-		if(unknown)
-			monitor.beginTask(toString(), IProgressMonitor.UNKNOWN);
-		else
-			monitor.beginTask(toString(), ticks);
-		try {
-			for (int i = 0; i < ticks; i++) {
-				if (monitor.isCanceled())
-					return Status.CANCEL_STATUS;
-				monitor.subTask("Processing tick #" + i); //$NON-NLS-1$
-				try {
-					Thread.sleep(sleep);
-				} catch (InterruptedException e) {
-					return Status.CANCEL_STATUS;
-				}
-				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 b9c406f..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/CreateJobsAction.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.jobs.actions;
-
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.examples.jobs.TestJob;
-
-/**
- * Test action that creates a number of fake jobs, and then waits until they complete.
- */
-public class CreateJobsAction implements IWorkbenchWindowActionDelegate {
-	static final long DELAY = 100;
-
-	private IWorkbenchWindow window;
-
-	private long askForDuration() {
-		InputDialog dialog = new InputDialog(window.getShell(), "How long?", "Enter the number of milliseconds per job", "1000", new IInputValidator() { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					public String isValid(String newText) {
-						try {
-							Long.parseLong(newText);
-						} catch (NumberFormatException e) {
-							return "Not a number"; //$NON-NLS-1$
-						}
-						return null;
-					}
-				});
-		if (dialog.open() == Window.CANCEL)
-			throw new OperationCanceledException();
-		return Long.parseLong(dialog.getValue());
-	}
-
-	private boolean askForExclusive() {
-		MessageDialog dialog = new MessageDialog(window.getShell(), "Likes to be left alone?", //$NON-NLS-1$
-				null, "Press yes if the jobs should be run one at a time, and no otherwise", //$NON-NLS-1$
-				MessageDialog.QUESTION, new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL}, 1 // no is the default
-		);
-		return dialog.open() == 0;
-	}
-
-	private boolean askForFailure() {
-		MessageDialog dialog = new MessageDialog(window.getShell(), "Born to fail?", //$NON-NLS-1$
-				null, "Should the jobs return an error status?", //$NON-NLS-1$
-				MessageDialog.QUESTION, new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL}, 1 // no is the default
-		);
-		return dialog.open() == 0;
-	}
-
-	private int askForJobCount() {
-		InputDialog dialog = new InputDialog(window.getShell(), "How much work?", "Enter the number of jobs to run", "100", new IInputValidator() { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					public String isValid(String newText) {
-						try {
-							Integer.parseInt(newText);
-						} catch (NumberFormatException e) {
-							return "Not a number"; //$NON-NLS-1$
-						}
-						return null;
-					}
-				});
-		if (dialog.open() == Window.CANCEL)
-			throw new OperationCanceledException();
-		return Integer.parseInt(dialog.getValue());
-	}
-
-	public void dispose() {
-		//do nothing
-	}
-
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-	}
-
-	public void run(IAction action) {
-		int jobCount = askForJobCount();
-		long duration = askForDuration();
-		boolean exclusive = askForExclusive();
-		boolean failure = askForFailure();
-		for (int i = 0; i < jobCount; i++) {
-			new TestJob(duration, exclusive, failure, false, false, 0).schedule(DELAY);
-		}
-	}
-
-	public void selectionChanged(IAction action, ISelection selection) {
-		//do nothing
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/DebugJobManagerAction.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/DebugJobManagerAction.java
deleted file mode 100644
index 0272248..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/DebugJobManagerAction.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.jobs.actions;
-
-import org.eclipse.core.internal.jobs.JobManager;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * This class is not really sample code.  This action is used to gather debugging
- * information about the internal state of the background job scheduling 
- * mechanism.
- */
-public class DebugJobManagerAction implements IWorkbenchWindowActionDelegate {
-	public DebugJobManagerAction() {
-		super();
-	}
-	public void dispose() {
-		//
-	}
-
-	public void init(IWorkbenchWindow window) {
-		//
-	}
-
-	public void run(IAction action) {
-		System.out.println("**** BEGIN DUMP JOB MANAGER INFORMATION ****"); //$NON-NLS-1$
-		Job[] jobs = Platform.getJobManager().find(null);
-		for (int i = 0; i < jobs.length; i++) {
-			System.out.println("" + jobs[i].getClass().getName() + " state: " + JobManager.printState(jobs[i].getState())); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		System.out.println("**** END DUMP JOB MANAGER INFORMATION ****"); //$NON-NLS-1$
-	}
-
-	public void selectionChanged(IAction action, ISelection selection) {
-		//
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/ForegroundAction.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/ForegroundAction.java
deleted file mode 100644
index 7d36c26..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/ForegroundAction.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.eclipse.ui.examples.jobs.actions;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-public class ForegroundAction implements IWorkbenchWindowActionDelegate {
-	public void run(IAction action) {
-		try {
-			ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) {
-					//no-op
-				}
-			}, null);
-		} catch (OperationCanceledException e) {
-			e.printStackTrace();
-		} catch (CoreException e) {
-			e.printStackTrace();
-		}
-	}
-	public void selectionChanged(IAction action, ISelection selection) {
-		//do nothing
-	}
-	public void dispose() {
-		//do nothing
-	}
-	public void init(IWorkbenchWindow window) {
-		//do nothing
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/JobAction.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/JobAction.java
deleted file mode 100644
index f0b9ac4..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/JobAction.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.eclipse.ui.examples.jobs.actions;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.resources.WorkspaceJob;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * Our sample action implements workbench action delegate.
- * The action proxy will be created by the workbench and
- * shown in the UI. When the user tries to use the action,
- * this delegate will be created and execution will be 
- * delegated to it.
- * @see IWorkbenchWindowActionDelegate
- */
-public class JobAction implements IWorkbenchWindowActionDelegate {
-	public void run(IAction action) {
-		final IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		Job job = new WorkspaceJob("Background job") { //$NON-NLS-1$
-			public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
-				monitor.beginTask("Doing something in background", 100); //$NON-NLS-1$
-				for (int i = 0; i < 100; i++) {
-					try {
-						Thread.sleep(100);
-					} catch (InterruptedException e) {
-						return Status.CANCEL_STATUS;
-					}
-					monitor.worked(1);
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		job.setRule(workspace.getRoot());
-		job.schedule();
-	}
-	public void selectionChanged(IAction action, ISelection selection) {
-		//do nothing
-	}
-	public void dispose() {
-		//do nothing
-	}
-	public void init(IWorkbenchWindow window) {
-		//do nothing
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/SuspendJobManagerAction.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/SuspendJobManagerAction.java
deleted file mode 100644
index bab1674..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/SuspendJobManagerAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.ui.examples.jobs.actions;
-
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * Toggles the suspend/resume state of the job manager.
- */
-public class SuspendJobManagerAction implements IWorkbenchWindowActionDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		try {
-			if (action.isChecked())
-				Platform.getJobManager().suspend();
-			else
-				Platform.getJobManager().resume();
-		} catch (OperationCanceledException e) {
-			//thrown if the user cancels the attempt to suspend
-			e.printStackTrace();
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		//do nothing
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		//do nothing
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		//do nothing
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/DeferredContentProvider.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/DeferredContentProvider.java
deleted file mode 100644
index cd45227..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 f484f67..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/JobsView.java
+++ /dev/null
@@ -1,649 +0,0 @@
-package org.eclipse.ui.examples.jobs.views;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.examples.jobs.TestJob;
-import org.eclipse.ui.examples.jobs.TestJobRule;
-import org.eclipse.ui.examples.jobs.UITestJob;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.progress.IProgressConstants;
-import org.eclipse.ui.progress.IProgressService;
-
-/**
- * A view that allows a user to create jobs of various types, and interact with
- * and test other job-related APIs.
- */
-public class JobsView extends ViewPart {
-	private Combo durationField;
-	private Button lockField, failureField, threadField, systemField,
-			userField, groupField, rescheduleField, keepField, keepOneField,
-			unknownField, gotoActionField;
-	private Text quantityField, delayField, rescheduleDelay;
-	private Button schedulingRuleField;
-	private Button noPromptField;
-
-	protected void busyCursorWhile() {
-		try {
-			final long duration = getDuration();
-			final boolean shouldLock = lockField.getSelection();
-			PlatformUI.getWorkbench().getProgressService().busyCursorWhile(
-					new IRunnableWithProgress() {
-						public void run(IProgressMonitor monitor) {
-							if (shouldLock)
-								doRunInWorkspace(duration, monitor);
-							else
-								doRun(duration, monitor);
-						}
-
-					});
-		} catch (InvocationTargetException e) {
-			e.printStackTrace();
-		} catch (InterruptedException e) {
-			// ignore - interrupt means cancel in this context
-		}
-	}
-
-	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 noPrompt = noPromptField.getSelection();
-		boolean system = systemField.getSelection();
-		boolean useGroup = groupField.getSelection();
-		boolean unknown = unknownField.getSelection();
-		boolean user = userField.getSelection();
-		boolean reschedule = rescheduleField.getSelection();
-		final long rescheduleWait = Long.parseLong(rescheduleDelay.getText());
-		boolean keep = keepField.getSelection();
-		boolean keepOne = keepOneField.getSelection();
-		boolean gotoAction = gotoActionField.getSelection();
-		boolean schedulingRule = schedulingRuleField.getSelection();
-
-		int groupIncrement = IProgressMonitor.UNKNOWN;
-		IProgressMonitor group = new NullProgressMonitor();
-		int total = IProgressMonitor.UNKNOWN;
-
-		if (jobCount > 1) {
-			total = 100;
-			groupIncrement = 100 / jobCount;
-		}
-
-		if (useGroup) {
-			group = Platform.getJobManager().createProgressGroup();
-			group.beginTask("Group", total); //$NON-NLS-1$
-		}
-
-		long delay = Integer.parseInt(delayField.getText());
-		for (int i = 0; i < jobCount; i++) {
-			Job result;
-			if (ui)
-				result = new UITestJob(duration, lock, failure, unknown);
-			else
-				result = new TestJob(duration, lock, failure, unknown,
-						reschedule, rescheduleWait);
-
-			result.setProperty(IProgressConstants.KEEP_PROPERTY, Boolean
-					.valueOf(keep));
-			result.setProperty(IProgressConstants.KEEPONE_PROPERTY, Boolean
-					.valueOf(keepOne));
-			result.setProperty(
-					IProgressConstants.NO_IMMEDIATE_ERROR_PROMPT_PROPERTY,
-					Boolean.valueOf(noPrompt));
-			if (gotoAction)
-				result.setProperty(IProgressConstants.ACTION_PROPERTY,
-						new Action("Pop up a dialog") { //$NON-NLS-1$
-							public void run() {
-								MessageDialog
-										.openInformation(
-												getSite().getShell(),
-												"Goto Action", "The job can have an action associated with it"); //$NON-NLS-1$ //$NON-NLS-2$
-							}
-						});
-
-			result.setProgressGroup(group, groupIncrement);
-			result.setSystem(system);
-			result.setUser(user);
-
-			if (schedulingRule)
-				result.setRule(new TestJobRule(i));
-			result.schedule(delay);
-		}
-	}
-
-	/**
-	 * @see ViewPart#createPartControl(Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		Composite body = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.makeColumnsEqualWidth = false;
-		body.setLayout(layout);
-
-		createEntryFieldGroup(body);
-		createPushButtonGroup(body);
-		createCheckboxGroup(body);
-	}
-
-	/**
-	 * Create all push button parts for the jobs view.
-	 * 
-	 * @param parent
-	 */
-	private void createPushButtonGroup(Composite parent) {
-		Composite group = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		group.setLayout(layout);
-		group.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		// create jobs
-		Button create = new Button(group, SWT.PUSH);
-		create.setText("Create jobs"); //$NON-NLS-1$
-		create
-				.setToolTipText("Creates and schedules jobs according to above parameters"); //$NON-NLS-1$
-		create.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		create.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				createJobs();
-			}
-		});
-
-		// touch workspace
-		Button touch = new Button(group, SWT.PUSH);
-		touch.setText("Touch workspace"); //$NON-NLS-1$
-		touch.setToolTipText("Modifies the workspace in the UI thread"); //$NON-NLS-1$
-		touch.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		touch.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				touchWorkspace();
-			}
-		});
-		// busy cursor while
-		Button busyWhile = new Button(group, SWT.PUSH);
-		busyWhile.setText("busyCursorWhile"); //$NON-NLS-1$
-		busyWhile.setToolTipText("Uses IProgressService.busyCursorWhile"); //$NON-NLS-1$
-		busyWhile.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		busyWhile.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				busyCursorWhile();
-			}
-		});
-		// progress monitor dialog with fork=false
-		Button noFork = new Button(group, SWT.PUSH);
-		noFork.setText("runInUI"); //$NON-NLS-1$
-		noFork.setToolTipText("Uses IProgressService.runInUI"); //$NON-NLS-1$
-		noFork.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		noFork.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				progressNoFork();
-			}
-		});
-
-		// progress monitor dialog with fork=false
-		Button exception = new Button(group, SWT.PUSH);
-		exception.setText("Runtime Exception"); //$NON-NLS-1$
-		exception.setToolTipText("NullPointerException when running"); //$NON-NLS-1$
-		exception.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		exception.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				jobWithRuntimeException();
-			}
-		});
-
-		// join the running test jobs
-		Button join = new Button(group, SWT.PUSH);
-		join.setText("Join Test Jobs"); //$NON-NLS-1$
-		join.setToolTipText("IJobManager.join() on test jobs"); //$NON-NLS-1$
-		join.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		join.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				joinTestJobs();
-			}
-		});
-
-		// join the running test jobs
-		Button window = new Button(group, SWT.PUSH);
-		window.setText("Runnable in Window"); //$NON-NLS-1$
-		window
-				.setToolTipText("Using a runnable context in the workbench window"); //$NON-NLS-1$
-		window.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		window.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				runnableInWindow();
-			}
-		});
-
-		// join the running test jobs
-		Button sleep = new Button(group, SWT.PUSH);
-		sleep.setText("Sleep"); //$NON-NLS-1$
-		sleep.setToolTipText("Calls sleep() on all TestJobs"); //$NON-NLS-1$
-		sleep.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		sleep.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				doSleep();
-			}
-		});
-
-		// join the running test jobs
-		Button wake = new Button(group, SWT.PUSH);
-		wake.setText("WakeUp"); //$NON-NLS-1$
-		wake.setToolTipText("Calls wakeUp() on all TestJobs"); //$NON-NLS-1$
-		wake.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		wake.addSelectionListener(new SelectionAdapter() {
-
-			public void widgetSelected(SelectionEvent e) {
-				doWakeUp();
-			}
-		});
-
-		// show in dialog
-		Button showInDialog = new Button(group, SWT.PUSH);
-		showInDialog.setText("showInDialog"); //$NON-NLS-1$
-		showInDialog.setToolTipText("Uses IProgressService.showInDialog"); //$NON-NLS-1$
-		showInDialog.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		showInDialog.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				showInDialog();
-			}
-		});
-
-	}
-
-	/**
-	 * Test the showInDialog API
-	 * 
-	 */
-	protected void showInDialog() {
-
-		Job showJob = new Job("Show In Dialog") {//$NON-NLS-1$
-			protected IStatus run(IProgressMonitor monitor) {
-				monitor.beginTask("Run in dialog", 100);//$NON-NLS-1$
-
-				for (int i = 0; i < 100; i++) {
-					if (monitor.isCanceled())
-						return Status.CANCEL_STATUS;
-					try {
-						Thread.sleep(100);
-					} catch (InterruptedException e) {
-						return Status.CANCEL_STATUS;
-					}
-					monitor.worked(1);
-
-				}
-				return Status.OK_STATUS;
-
-			}
-		};
-		showJob.schedule();
-		PlatformUI.getWorkbench().getProgressService().showInDialog(
-				getSite().getShell(), showJob);
-
-	}
-
-	/**
-	 * Wakes up all sleeping test jobs.
-	 */
-	protected void doWakeUp() {
-		Platform.getJobManager().wakeUp(TestJob.FAMILY_TEST_JOB);
-	}
-
-	/**
-	 * Puts to sleep all waiting test jobs.
-	 */
-	protected void doSleep() {
-		Platform.getJobManager().sleep(TestJob.FAMILY_TEST_JOB);
-	}
-
-	/**
-	 * @param body
-	 */
-	private void createEntryFieldGroup(Composite body) {
-		// duration
-		Label label = new Label(body, SWT.NONE);
-		label.setText("Duration:"); //$NON-NLS-1$
-		durationField = new Combo(body, SWT.DROP_DOWN | SWT.READ_ONLY);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		durationField.setLayoutData(data);
-		durationField.add("0"); //$NON-NLS-1$
-		durationField.add("1 millisecond"); //$NON-NLS-1$
-		durationField.add("1 second"); //$NON-NLS-1$
-		durationField.add("10 seconds"); //$NON-NLS-1$
-		durationField.add("1 minute"); //$NON-NLS-1$
-		durationField.add("10 minutes"); //$NON-NLS-1$
-		durationField.select(4);
-
-		// delay
-		label = new Label(body, SWT.NONE);
-		label.setText("Start delay (ms):"); //$NON-NLS-1$
-		delayField = new Text(body, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		delayField.setLayoutData(data);
-		delayField.setText("0"); //$NON-NLS-1$
-
-		// quantity
-		label = new Label(body, SWT.NONE);
-		label.setText("Quantity:"); //$NON-NLS-1$
-		quantityField = new Text(body, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		quantityField.setLayoutData(data);
-		quantityField.setText("1"); //$NON-NLS-1$
-
-		// reschedule delay
-		label = new Label(body, SWT.NONE);
-		label.setText("Reschedule Delay (ms):"); //$NON-NLS-1$
-		rescheduleDelay = new Text(body, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		rescheduleDelay.setLayoutData(data);
-		rescheduleDelay.setText("1000"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Creates all of the checkbox buttons.
-	 */
-	private void createCheckboxGroup(Composite parent) {
-		Composite group = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		group.setLayout(layout);
-		group.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		// lock
-		lockField = new Button(group, SWT.CHECK);
-		lockField.setText("Lock the workspace"); //$NON-NLS-1$
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		lockField.setLayoutData(data);
-
-		// system
-		systemField = new Button(group, SWT.CHECK);
-		systemField.setText("System job"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		systemField.setLayoutData(data);
-
-		// thread
-		threadField = new Button(group, SWT.CHECK);
-		threadField.setText("Run in UI thread"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		threadField.setLayoutData(data);
-
-		// groups
-		groupField = new Button(group, SWT.CHECK);
-		groupField.setText("Run in Group"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		groupField.setLayoutData(data);
-
-		// reschedule
-		rescheduleField = new Button(group, SWT.CHECK);
-		rescheduleField.setText("Reschedule"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		rescheduleField.setLayoutData(data);
-
-		// keep
-		keepField = new Button(group, SWT.CHECK);
-		keepField.setText("Keep"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		keepField.setLayoutData(data);
-
-		// keep one
-		keepOneField = new Button(group, SWT.CHECK);
-		keepOneField.setText("KeepOne"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		keepOneField.setLayoutData(data);
-
-		// IProgressMonitor.UNKNOWN
-		unknownField = new Button(group, SWT.CHECK);
-		unknownField.setText("Indeterminate Progress"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		unknownField.setLayoutData(data);
-
-		// whether the job is a user job
-		userField = new Button(group, SWT.CHECK);
-		userField.setText("User job"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		userField.setLayoutData(data);
-
-		// whether the job has a goto action
-		gotoActionField = new Button(group, SWT.CHECK);
-		gotoActionField.setText("Goto action"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		gotoActionField.setLayoutData(data);
-
-		// whether the job should use a scheduling rule
-		schedulingRuleField = new Button(group, SWT.CHECK);
-		schedulingRuleField.setText("Schedule sequentially"); //$NON-NLS-1$
-		schedulingRuleField
-				.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		// failure
-		failureField = new Button(group, SWT.CHECK);
-		failureField.setText("Fail"); //$NON-NLS-1$
-		failureField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		// failure
-		noPromptField = new Button(group, SWT.CHECK);
-		noPromptField.setText("No Prompt"); //$NON-NLS-1$
-		noPromptField
-				.setToolTipText("Set the IProgressConstants.NO_IMMEDIATE_ERROR_PROMPT_PROPERTY to true");
-		noPromptField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	}
-
-	protected void doRun(long duration, IProgressMonitor monitor) {
-		final long sleep = 10;
-		int ticks = (int) (duration / sleep);
-		monitor.beginTask(
-				"Spinning inside IProgressService.busyCursorWhile", ticks); //$NON-NLS-1$
-		monitor.setTaskName("Spinning inside IProgressService.busyCursorWhile"); //$NON-NLS-1$
-		for (int i = 0; i < ticks; i++) {
-			monitor.subTask("Processing tick #" + i); //$NON-NLS-1$
-			if (monitor.isCanceled())
-				return;
-			try {
-				Thread.sleep(sleep);
-			} catch (InterruptedException e) {
-				// ignore
-			}
-			monitor.worked(1);
-		}
-	}
-
-	protected void doRunInWorkspace(final long duration,
-			IProgressMonitor monitor) {
-		try {
-			ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					doRun(duration, monitor);
-				}
-			}, monitor);
-		} catch (CoreException e) {
-			e.printStackTrace();
-		}
-	}
-
-	protected long getDuration() {
-		switch (durationField.getSelectionIndex()) {
-		case 0:
-			return 0;
-		case 1:
-			return 1;
-		case 2:
-			return 1000;
-		case 3:
-			return 10000;
-		case 4:
-			return 60000;
-		case 5:
-		default:
-			return 600000;
-		}
-	}
-
-	protected void jobWithRuntimeException() {
-		Job runtimeExceptionJob = new Job("Job with Runtime exception") { //$NON-NLS-1$
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-			 */
-			protected IStatus run(IProgressMonitor monitor) {
-				throw new NullPointerException();
-			}
-		};
-		runtimeExceptionJob.schedule();
-	}
-
-	/**
-	 * Example usage of the IJobManager.join method.
-	 */
-	protected void joinTestJobs() {
-		try {
-			// note that when a null progress monitor is used when in the UI
-			// thread, the workbench will create a default progress monitor
-			// that reports progress in a modal dialog with details area
-			PlatformUI.getWorkbench().getProgressService().busyCursorWhile(
-					new IRunnableWithProgress() {
-						public void run(IProgressMonitor monitor)
-								throws InterruptedException {
-							Job.getJobManager().join(TestJob.FAMILY_TEST_JOB,
-									monitor);
-						}
-					});
-		} catch (InterruptedException 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 (InvocationTargetException e) {
-			// Thrown when the operation running within busyCursorWhile throws
-			// an
-			// exception. This should either be propagated or displayed to the
-			// user
-			e.printStackTrace();
-		}
-	}
-
-	protected void progressNoFork() {
-		try {
-			final long duration = getDuration();
-			final boolean shouldLock = lockField.getSelection();
-			IProgressService progressService = PlatformUI.getWorkbench()
-					.getProgressService();
-			progressService.runInUI(progressService,
-					new IRunnableWithProgress() {
-						public void run(IProgressMonitor monitor)
-								throws InterruptedException {
-							if (shouldLock)
-								doRunInWorkspace(duration, monitor);
-							else
-								doRun(duration, monitor);
-						}
-					}, ResourcesPlugin.getWorkspace().getRoot());
-		} catch (InvocationTargetException e) {
-			e.printStackTrace();
-		} catch (InterruptedException e) {
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * @see ViewPart#setFocus()
-	 */
-	public void setFocus() {
-		if (durationField != null && !durationField.isDisposed())
-			durationField.setFocus();
-	}
-
-	protected void touchWorkspace() {
-		// create an asyncExec to touch the workspace the specific number of
-		// times
-		int jobCount = Integer.parseInt(quantityField.getText());
-		for (int i = 0; i < jobCount; i++) {
-			getSite().getShell().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					try {
-						ResourcesPlugin.getWorkspace().run(
-								new IWorkspaceRunnable() {
-									public void run(IProgressMonitor monitor) {
-										// no-op
-									}
-								}, null);
-					} catch (OperationCanceledException e) {
-						// ignore
-					} catch (CoreException e) {
-						e.printStackTrace();
-					}
-				}
-			});
-		}
-	}
-
-	/**
-	 * Run a workspace runnable in the application window.
-	 * 
-	 */
-
-	public void runnableInWindow() {
-
-		final long time = getDuration();
-		final long sleep = 10;
-		IRunnableWithProgress runnableTest = new WorkspaceModifyOperation() {
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.ui.actions.WorkspaceModifyOperation#execute(org.eclipse.core.runtime.IProgressMonitor)
-			 */
-			protected void execute(IProgressMonitor monitor)
-					throws CoreException, InvocationTargetException,
-					InterruptedException {
-				int ticks = (int) (time / sleep);
-				monitor.beginTask(
-						"Spinning inside ApplicationWindow.run()", ticks); //$NON-NLS-1$
-				monitor.setTaskName("Spinning inside ApplicationWindow.run()"); //$NON-NLS-1$
-				for (int i = 0; i < ticks; i++) {
-					monitor.subTask("Processing tick #" + i); //$NON-NLS-1$
-					if (monitor.isCanceled())
-						return;
-					try {
-						Thread.sleep(sleep);
-					} catch (InterruptedException e) {
-						// ignore
-					}
-					monitor.worked(1);
-				}
-			}
-
-		};
-		try {
-			PlatformUI.getWorkbench().getActiveWorkbenchWindow().run(true,
-					true, runnableTest);
-
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/LazyTreeView.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/LazyTreeView.java
deleted file mode 100644
index 43f74b8..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/LazyTreeView.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.ui.examples.jobs.views;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.part.ViewPart;
-/**
- * This sample class demonstrates how to plug-in a new workbench view. The view
- * shows data obtained from the model. The sample creates a dummy model on the
- * fly, but a real implementation would connect to the model available either
- * in this or another plug-in (e.g. the workspace). The view is connected to
- * the model using a content provider.
- * <p>
- * The view uses a label provider to define how model objects should be
- * presented in the view. Each view can present the same model objects using
- * different labels and icons, if needed. Alternatively, a single label
- * provider can be shared between views in order to ensure that objects of the
- * same type are presented in the same way everywhere.
- * <p>
- */
-public class LazyTreeView extends ViewPart {
-	protected TreeViewer viewer;
-	protected Button serializeButton, batchButton;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite top) {
-		Composite parent = new Composite(top, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		parent.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.grabExcessHorizontalSpace = true;
-		data.grabExcessVerticalSpace = true;
-		parent.setLayoutData(data);
-//		parent.setBackground(WorkbenchColors.getSystemColor(SWT.COLOR_WHITE));
-		serializeButton = new Button(parent, SWT.CHECK | SWT.FLAT);
-		serializeButton.setText("Serialize fetch jobs"); //$NON-NLS-1$
-//		serializeButton.setBackground(WorkbenchColors.getSystemColor(SWT.COLOR_WHITE));
-		serializeButton.setSelection(SlowElementAdapter.isSerializeFetching());
-		serializeButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				SlowElementAdapter.setSerializeFetching(serializeButton.getSelection());
-			}
-		});
-		serializeButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		batchButton = new Button(parent, SWT.CHECK | SWT.FLAT);
-		batchButton.setText("Batch returned children"); //$NON-NLS-1$
-//		batchButton.setBackground(WorkbenchColors.getSystemColor(SWT.COLOR_WHITE));
-		serializeButton.setSelection(SlowElementAdapter.isBatchFetchedChildren());
-		batchButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				SlowElementAdapter.setBatchFetchedChildren(batchButton.getSelection());
-			}
-		});
-		batchButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-		viewer.setContentProvider(new DeferredContentProvider());
-		viewer.setLabelProvider(new WorkbenchLabelProvider());
-		viewer.setInput(new SlowElement("root")); //$NON-NLS-1$
-		viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
-	}
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/ProgressExampleAdapterFactory.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/ProgressExampleAdapterFactory.java
deleted file mode 100644
index 4ee8a54..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) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 e2f2d3a..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElement.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.jobs.views;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.PlatformObject;
-
-public class SlowElement extends PlatformObject {
-	private String name;
-	private SlowElement parent;
-
-	SlowElement(String name) {
-		this(null, name, null);	
-	}
-	
-	SlowElement(String name, SlowElement[] children) {
-		this(null, name, children);	
-	}
-	
-	SlowElement(SlowElement parent, String name, SlowElement[] children) {
-		this.name = name;
-		this.parent = parent;
-	}
-	
-	public String getName() {
-		return name;
-	}
-	
-	public SlowElement getParent() {
-		return parent;
-	}
-	
-	public SlowElement[] getChildren() {
-		Random r = new Random();
-		int random = r.nextInt(15);
-		List children = new ArrayList();
-		for(int i = 0; i < random; i++) {
-			children.add(new SlowElement("child" + i)); //$NON-NLS-1$
-		}
-		return (SlowElement[]) children.toArray(new SlowElement[children.size()]);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElementAdapter.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElementAdapter.java
deleted file mode 100644
index 9b589cb..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElementAdapter.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.jobs.views;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.progress.IDeferredWorkbenchAdapter;
-import org.eclipse.ui.progress.IElementCollector;
-
-public class SlowElementAdapter implements IDeferredWorkbenchAdapter {
-
-	private static boolean serializeFetching = false;
-	private static boolean batchFetchedChildren = false;
-
-	final ISchedulingRule mutexRule = new ISchedulingRule() {
-		public boolean isConflicting(ISchedulingRule rule) {
-			return rule == mutexRule;
-		}
-		public boolean contains(ISchedulingRule rule) {
-			return rule == mutexRule;
-		}
-	};
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.progress.IDeferredWorkbenchAdapter#fetchDeferredChildren(java.lang.Object,
-	 *           org.eclipse.jface.progress.IElementCollector,
-	 *           org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void fetchDeferredChildren(Object object, IElementCollector collector, IProgressMonitor monitor) {
-		if (object instanceof SlowElement) {
-			Object[] children = ((SlowElement) object).getChildren();
-			if (isBatchFetchedChildren()) {
-				sleep(4000);
-				collector.add(children, monitor);
-			} else {
-				for (int i = 0; i < children.length; i++) {
-					if (monitor.isCanceled()) {
-						return;
-					}
-					collector.add(children[i], monitor);
-					sleep(4000);
-				}
-			}
-		}
-	}
-
-	private void sleep(long mills) {
-		try {
-			Thread.sleep(1000);
-		} catch (InterruptedException e) {
-			//ignore
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.progress.IDeferredWorkbenchAdapter#isContainer()
-	 */
-	public boolean isContainer() {
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.progress.IDeferredWorkbenchAdapter#getRule(java.lang.Object)
-	 */
-	public ISchedulingRule getRule(final Object object) {
-		if (isSerializeFetching())
-			return mutexRule;
-		// Allow several SlowElement parents to fetch children concurrently
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object)
-	 */
-	public Object[] getChildren(Object object) {
-		if (object instanceof SlowElement) {
-			return ((SlowElement) object).getChildren();
-		}
-		return new Object[0];
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object object) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-	 */
-	public String getLabel(Object o) {
-		if (o instanceof SlowElement) {
-			return ((SlowElement) o).getName();
-		}
-		return "unknown"; //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object o) {
-		if (o instanceof SlowElement) {
-			return ((SlowElement) o).getParent();
-		}
-		return null;
-	}
-
-	/**
-	 * @return Returns the batchFetchedChildren.
-	 */
-	public static boolean isBatchFetchedChildren() {
-		return batchFetchedChildren;
-	}
-
-	/**
-	 * @param batchFetchedChildren
-	 *                   The batchFetchedChildren to set.
-	 */
-	public static void setBatchFetchedChildren(boolean batchFetchedChildren) {
-		SlowElementAdapter.batchFetchedChildren = batchFetchedChildren;
-	}
-
-	/**
-	 * @return Returns the serializeFetching.
-	 */
-	public static boolean isSerializeFetching() {
-		return serializeFetching;
-	}
-
-	/**
-	 * @param serializeFetching
-	 *                   The serializeFetching to set.
-	 */
-	public static void setSerializeFetching(boolean serializeFetching) {
-		SlowElementAdapter.serializeFetching = serializeFetching;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/.classpath b/examples/org.eclipse.ui.examples.multipageeditor/.classpath
deleted file mode 100644
index d6156ef..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="Eclipse UI Examples MultiPageEditor"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/.cvsignore b/examples/org.eclipse.ui.examples.multipageeditor/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/.project b/examples/org.eclipse.ui.examples.multipageeditor/.project
deleted file mode 100644
index 741355f..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.multipageeditor</name>
-	<comment></comment>
-	<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/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9fa9102..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,78 +0,0 @@
-#Mon Jan 15 21:15:54 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 14ac2d9..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Mon Feb 06 11:16:57 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index ceb6314..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Jan 10 16:53:58 EST 2006
-compilers.p.deprecated=1
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
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 bff85f7..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MessageUtil.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 1da18a2..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageContributor.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.IActionBars;
-import org.eclipse.ui.IEditorPart;
-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 ad83804..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageEditorExample.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.layout.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.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 2e5a083..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, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-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/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.multipageeditor/META-INF/MANIFEST.MF
deleted file mode 100644
index f53fe4a..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.ui.examples.multipageeditor; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-ClassPath: multipageeditor.jar
-Bundle-Activator: org.eclipse.core.internal.compatibility.PluginActivator
-Bundle-Vendor: %Plugin.providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.examples.multipageeditor
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.resources,
- org.eclipse.core.runtime.compatibility,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.ui.editors,
- org.eclipse.ui.ide,
- org.eclipse.jface.text,
- org.eclipse.text
-Eclipse-LazyStart: true
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 4602330..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</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 9e02f46..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.multipageeditor.jar = Eclipse UI Examples MultiPageEditor/
-
-bin.includes = doc-html/,\
-               icons/,\
-               about.html,\
-               plugin.properties,\
-               plugin.xml,\
-               *.jar,\
-               META-INF/
-
-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 a41081e..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/doc-html/hglegal.htm
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <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/ui_multipageeditor_ex.html b/examples/org.eclipse.ui.examples.multipageeditor/doc-html/ui_multipageeditor_ex.html
deleted file mode 100644
index 7dad38e..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/doc-html/ui_multipageeditor_ex.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <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
-
-</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 19e2475..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-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 377e097..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/plugin.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <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.navigator/.classpath b/examples/org.eclipse.ui.examples.navigator/.classpath
deleted file mode 100644
index 7398f97..0000000
--- a/examples/org.eclipse.ui.examples.navigator/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry path="src" kind="src"/>
-	<classpathentry path="org.eclipse.jdt.launching.JRE_CONTAINER" kind="con"/>
-	<classpathentry path="org.eclipse.pde.core.requiredPlugins" kind="con"/>
-	<classpathentry path="bin" kind="output"/>
-</classpath>
diff --git a/examples/org.eclipse.ui.examples.navigator/.project b/examples/org.eclipse.ui.examples.navigator/.project
deleted file mode 100644
index cbc0eeb..0000000
--- a/examples/org.eclipse.ui.examples.navigator/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.navigator</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/examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index da48a0d..0000000
--- a/examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Thu Oct 20 14:37:10 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index d2f2d8a..0000000
--- a/examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Thu Oct 20 14:37:10 EDT 2005
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index a052cf0..0000000
--- a/examples/org.eclipse.ui.examples.navigator/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,16 +0,0 @@
-#Sat May 20 14:51:55 EDT 2006
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.deprecated=0
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.ui.examples.navigator/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.navigator/META-INF/MANIFEST.MF
deleted file mode 100644
index a881495..0000000
--- a/examples/org.eclipse.ui.examples.navigator/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Navigator_Examples
-Bundle-SymbolicName: org.eclipse.ui.examples.navigator;singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.ui.navigator,
- org.eclipse.ui.views,
- org.eclipse.ui,
- org.eclipse.ui.ide,
- org.eclipse.ui.workbench,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.jface.text
-Bundle-Activator: org.eclipse.ui.internal.examples.navigator.Activator
diff --git a/examples/org.eclipse.ui.examples.navigator/about.html b/examples/org.eclipse.ui.examples.navigator/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.ui.examples.navigator/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.navigator/build.properties b/examples/org.eclipse.ui.examples.navigator/build.properties
deleted file mode 100644
index edb0f5e..0000000
--- a/examples/org.eclipse.ui.examples.navigator/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               plugin.properties
-src.includes = about.html
-jars.compile.order = .
-source.. = src/
-output.. = bin/
diff --git a/examples/org.eclipse.ui.examples.navigator/icons/delete_obj.gif b/examples/org.eclipse.ui.examples.navigator/icons/delete_obj.gif
deleted file mode 100644
index b6922ac..0000000
--- a/examples/org.eclipse.ui.examples.navigator/icons/delete_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.navigator/icons/filenav_nav.gif b/examples/org.eclipse.ui.examples.navigator/icons/filenav_nav.gif
deleted file mode 100644
index 4b98a62..0000000
--- a/examples/org.eclipse.ui.examples.navigator/icons/filenav_nav.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.navigator/icons/prop_ps.gif b/examples/org.eclipse.ui.examples.navigator/icons/prop_ps.gif
deleted file mode 100644
index d11c996..0000000
--- a/examples/org.eclipse.ui.examples.navigator/icons/prop_ps.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.navigator/plugin.properties b/examples/org.eclipse.ui.examples.navigator/plugin.properties
deleted file mode 100644
index c9cee89..0000000
--- a/examples/org.eclipse.ui.examples.navigator/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-Navigator_Examples=Common Navigator Examples
-Common_Navigator_Example=Common Navigator Example 
diff --git a/examples/org.eclipse.ui.examples.navigator/plugin.xml b/examples/org.eclipse.ui.examples.navigator/plugin.xml
deleted file mode 100644
index 37b290e..0000000
--- a/examples/org.eclipse.ui.examples.navigator/plugin.xml
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <!-- Phase 1 -->
-   <!-- Declare the view part to hold the default implementation --> 
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            id="org.eclipse.ui.examples.navigator.category"
-            name="Common Navigator Examples"/>
-      <view
-            allowMultiple="false"
-            class="org.eclipse.ui.navigator.CommonNavigator"
-            icon="icons/filenav_nav.gif"
-            id="org.eclipse.ui.examples.navigator.view"
-            name="Example View"/>
-   </extension>
-   
-   <!-- Declare the viewer configuration, and the default content/action bindings -->
-   <extension
-         point="org.eclipse.ui.navigator.viewer">
-      <viewer viewerId="org.eclipse.ui.examples.navigator.view">
-         <popupMenu
-                allowsPlatformContributions="true"
-                id="org.eclipse.ui.examples.navigator.view#PopupMenu">  
-             <insertionPoint name="group.new"/>
-             <insertionPoint
-                   name="group.open"
-                   separator="true"/>
-             <insertionPoint name="group.openWith"/>   
-             <insertionPoint name="group.edit"
-                   separator="true"/>   
-             <insertionPoint name="group.reorganize" />         
-             <insertionPoint
-                   name="group.port"
-                   separator="true"/>     
-             <insertionPoint
-                   name="group.build"
-                   separator="true"/> 
-             <insertionPoint
-                   name="group.generate"
-                   separator="true"/> 
-             <insertionPoint
-                   name="group.search"
-                   separator="true"/>              
-             <insertionPoint
-                   name="additions"
-                   separator="true"/>              
-             <insertionPoint
-                   name="group.properties"
-                   separator="true"/>             
-          </popupMenu>
-      </viewer>
-      <viewerContentBinding viewerId="org.eclipse.ui.examples.navigator.view">
-         <includes>
-            <contentExtension pattern="org.eclipse.ui.navigator.resourceContent"/>
-            <contentExtension pattern="org.eclipse.ui.navigator.resources.filters.*"/> 
-            <contentExtension pattern="org.eclipse.ui.examples.navigator.filters.*"/> 
-         </includes>
-      </viewerContentBinding>
-      <viewerActionBinding viewerId="org.eclipse.ui.examples.navigator.view">
-         <includes>
-            <actionExtension pattern="org.eclipse.ui.navigator.resources.*"/>
-         </includes>
-      </viewerActionBinding>
-   </extension>
-   
-   <!-- Declare a simple filter example that uses core expressions -->
-   <extension
-         point="org.eclipse.ui.navigator.navigatorContent">
-      <commonFilter
-            id="org.eclipse.ui.examples.navigator.filters.hideNonJavaProjects"
-            name="Hide non-Java Projects">
-         <filterExpression>
-            <not>
-               <adapt type="org.eclipse.core.resources.IProject">
-                  <test
-                        property="org.eclipse.core.resources.projectNature"
-                        value="org.eclipse.jdt.core.javanature"/>
-               </adapt>
-            </not>
-         </filterExpression>
-      </commonFilter>
-   </extension>
-  
-  <!-- Phase 2 -->
-  <!-- Declare a content extension that renders the contents of a properties file -->
-  <extension
-         point="org.eclipse.ui.navigator.navigatorContent">
-         
-      <navigatorContent 
-            id="org.eclipse.ui.examples.navigator.propertiesContent" 
-            name="Properties File Contents"
-            contentProvider="org.eclipse.ui.examples.navigator.PropertiesContentProvider"
-            labelProvider="org.eclipse.ui.examples.navigator.PropertiesLabelProvider" 
-            activeByDefault="true"
-            icon="icons/prop_ps.gif"
-            priority="normal" >
-         <triggerPoints>
-         	<or>
-	            <and>
-	               <instanceof value="org.eclipse.core.resources.IResource"/>
-	               <test
-	                     forcePluginActivation="true"
-	                     property="org.eclipse.core.resources.extension"
-	                     value="properties"/>
-	            </and>
-				<instanceof value="org.eclipse.ui.examples.navigator.PropertiesTreeData"/>
-			</or>
-         </triggerPoints>
-         <possibleChildren>
-            <or>
-               <instanceof value="org.eclipse.ui.examples.navigator.PropertiesTreeData"/> 
-            </or>
-         </possibleChildren>
-         <actionProvider
-               class="org.eclipse.ui.examples.navigator.actions.PropertyActionProvider"
-               id="org.eclipse.ui.examples.navigator.properties.actions.OpenProvider"/>
-      </navigatorContent>
-   </extension>
-   
-   <!-- Bind the Properties content extension to the viewer -->
-   <extension
-         point="org.eclipse.ui.navigator.viewer">
-      <viewerContentBinding viewerId="org.eclipse.ui.examples.navigator.view">
-         <includes>
-            <contentExtension pattern="org.eclipse.ui.examples.navigator.propertiesContent"/>
-         </includes>
-      </viewerContentBinding>
-   </extension>
-   
-   <!-- Contribute an Object Contribution to delete individual properties in the view -->
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            adaptable="false"
-            id="org.eclipse.ui.examples.navigator.actions.propertiesResource"
-            objectClass="org.eclipse.ui.examples.navigator.PropertiesTreeData">
-         <action
-               class="org.eclipse.ui.examples.navigator.actions.DeletePropertyAction"
-               enablesFor="1"
-               helpContextId="org.eclipse.ui.edit.delete"
-               icon="icons/delete_obj.gif"
-               id="org.eclipse.ui.examples.navigator.actions.deleteProperty"
-               label="Delete Property"
-               menubarPath="group.edit"
-               tooltip="Delete a specific property"/>
-      </objectContribution> 
-   </extension>
-   
-   <!-- 
-   	Bind the Action Provider independently 
-   <extension
-         point="org.eclipse.ui.navigator.navigatorContent">         
-     <actionProvider
-           class="org.eclipse.ui.examples.navigator.actions.PropertyActionProvider"
-           id="org.eclipse.ui.examples.navigator.properties.actions.OpenProvider"/> 
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.navigator.viewer">
-      <viewerActionBinding viewerId="org.eclipse.ui.examples.navigator.view">
-         <includes>
-            <actionExtension 
-            	pattern="org.eclipse.ui.examples.navigator.properties.actions.*"/>
-         </includes>
-      </viewerActionBinding>
-   </extension> 
-   
-   -->
-  
-  
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/PropertiesContentProvider.java b/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/PropertiesContentProvider.java
deleted file mode 100644
index 8e9ebab..0000000
--- a/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/PropertiesContentProvider.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation.
- * Licensed Material - Property of IBM. All rights reserved.
- * US Government Users Restricted Rights - Use, duplication or disclosure
- * restricted by GSA ADP Schedule Contract with IBM Corp.
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.navigator;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.progress.UIJob;
-
-/**
- * Provides the properties contained in a *.properties file as children of that
- * file in a Common Navigator.  
- * @since 3.2 
- */
-public class PropertiesContentProvider implements ITreeContentProvider,
-		IResourceChangeListener, IResourceDeltaVisitor {
-  
-	private static final Object[] NO_CHILDREN = new Object[0];
-
-	private static final Object PROPERTIES_EXT = "properties"; //$NON-NLS-1$
-
-	private final Map/*<IFile, PropertiesTreeData[]>*/ cachedModelMap = new HashMap();
-
-	private StructuredViewer viewer;
-	
-	/**
-	 * Create the PropertiesContentProvider instance.
-	 * 
-	 * Adds the content provider as a resource change listener to track changes on disk.
-	 *
-	 */
-	public PropertiesContentProvider() {
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE);
-	}
-
-	/**
-	 * Return the model elements for a *.properties IFile or
-	 * NO_CHILDREN for otherwise.
-	 */
-	public Object[] getChildren(Object parentElement) {  
-		Object[] children = null;
-		if (parentElement instanceof PropertiesTreeData) { 
-			children = NO_CHILDREN;
-		} else if(parentElement instanceof IFile) {
-			/* possible model file */
-			IFile modelFile = (IFile) parentElement;
-			if(PROPERTIES_EXT.equals(modelFile.getFileExtension())) {				
-				children = (PropertiesTreeData[]) cachedModelMap.get(modelFile);
-				if(children == null && updateModel(modelFile) != null) {
-					children = (PropertiesTreeData[]) cachedModelMap.get(modelFile);
-				}
-			}
-		}   
-		return children != null ? children : NO_CHILDREN;
-	}  
-
-	/**
-	 * Load the model from the given file, if possible.  
-	 * @param modelFile The IFile which contains the persisted model 
-	 */ 
-	private synchronized Properties updateModel(IFile modelFile) { 
-		
-		if(PROPERTIES_EXT.equals(modelFile.getFileExtension()) ) {
-			Properties model = new Properties();
-			if (modelFile.exists()) {
-				try {
-					model.load(modelFile.getContents()); 
-					
-					String propertyName; 
-					List properties = new ArrayList();
-					for(Enumeration names = model.propertyNames(); names.hasMoreElements(); ) {
-						propertyName = (String) names.nextElement();
-						properties.add(new PropertiesTreeData(propertyName,  model.getProperty(propertyName), modelFile));
-					}
-					PropertiesTreeData[] propertiesTreeData = (PropertiesTreeData[])
-						properties.toArray(new PropertiesTreeData[properties.size()]);
-					
-					cachedModelMap.put(modelFile, propertiesTreeData);
-					return model; 
-				} catch (IOException e) {
-				} catch (CoreException e) {
-				}
-			} else {
-				cachedModelMap.remove(modelFile);
-			}
-		}
-		return null; 
-	}
-
-	public Object getParent(Object element) {
-		if (element instanceof PropertiesTreeData) {
-			PropertiesTreeData data = (PropertiesTreeData) element;
-			return data.getFile();
-		} 
-		return null;
-	}
-
-	public boolean hasChildren(Object element) {		
-		if (element instanceof PropertiesTreeData) {
-			return false;		
-		} else if(element instanceof IFile) {
-			return PROPERTIES_EXT.equals(((IFile) element).getFileExtension());
-		}
-		return false;
-	}
-
-	public Object[] getElements(Object inputElement) {
-		return getChildren(inputElement);
-	}
-
-	public void dispose() {
-		cachedModelMap.clear();
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this); 
-	}
-
-	public void inputChanged(Viewer aViewer, Object oldInput, Object newInput) {
-		if (oldInput != null && !oldInput.equals(newInput))
-			cachedModelMap.clear();
-		viewer = (StructuredViewer) aViewer;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-
-		IResourceDelta delta = event.getDelta();
-		try {
-			delta.accept(this);
-		} catch (CoreException e) { 
-			e.printStackTrace();
-		} 
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.resources.IResourceDeltaVisitor#visit(org.eclipse.core.resources.IResourceDelta)
-	 */
-	public boolean visit(IResourceDelta delta) {
-
-		IResource source = delta.getResource();
-		switch (source.getType()) {
-		case IResource.ROOT:
-		case IResource.PROJECT:
-		case IResource.FOLDER:
-			return true;
-		case IResource.FILE:
-			final IFile file = (IFile) source;
-			if (PROPERTIES_EXT.equals(file.getFileExtension())) {
-				updateModel(file);
-				new UIJob("Update Properties Model in CommonViewer") {  //$NON-NLS-1$
-					public IStatus runInUIThread(IProgressMonitor monitor) {
-						if (viewer != null && !viewer.getControl().isDisposed())
-							viewer.refresh(file);
-						return Status.OK_STATUS;						
-					}
-				}.schedule();
-			}
-			return false;
-		}
-		return false;
-	} 
-}
diff --git a/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/PropertiesLabelProvider.java b/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/PropertiesLabelProvider.java
deleted file mode 100644
index 2ce582f..0000000
--- a/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/PropertiesLabelProvider.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation.
- * Licensed Material - Property of IBM. All rights reserved.
- * US Government Users Restricted Rights - Use, duplication or disclosure
- * restricted by GSA ADP Schedule Contract with IBM Corp.
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.navigator;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.navigator.IDescriptionProvider;
-
-/**
- * Provides a label and icon for objects of type {@link PropertiesTreeData}. 
- * @since 3.2 
- */
-public class PropertiesLabelProvider extends LabelProvider implements
-		ILabelProvider, IDescriptionProvider {
-  
-
-	public Image getImage(Object element) {
-		if (element instanceof PropertiesTreeData)
-			return PlatformUI.getWorkbench().getSharedImages().getImage(
-					ISharedImages.IMG_OBJS_INFO_TSK); 
-		return null;
-	}
-
-	public String getText(Object element) {
-		if (element instanceof PropertiesTreeData) {
-			PropertiesTreeData data = (PropertiesTreeData) element;
-			return data.getName() + "= " + data.getValue(); //$NON-NLS-1$
-		}  
-		return null;
-	}
-
-	public String getDescription(Object anElement) {
-		if (anElement instanceof PropertiesTreeData) {
-			PropertiesTreeData data = (PropertiesTreeData) anElement;
-			return "Property: " + data.getName(); //$NON-NLS-1$
-		}
-		return null;
-	}
-  
-}
diff --git a/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/PropertiesTreeData.java b/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/PropertiesTreeData.java
deleted file mode 100644
index 60dc4dc..0000000
--- a/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/PropertiesTreeData.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation.
- * Licensed Material - Property of IBM. All rights reserved.
- * US Government Users Restricted Rights - Use, duplication or disclosure
- * restricted by GSA ADP Schedule Contract with IBM Corp.
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.navigator;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * Provides a simple model of a name=value pair from a *.properties file.
- * 
- * @since 3.2
- */
-public class PropertiesTreeData { 
-
-	private IFile container; 
-	private String name;  
-	private String value;
-
-	/**
-	 * Create a property with the given name and value contained by the given file. 
-	 *  
-	 * @param aName The name of the property.
-	 * @param aValue The value of the property.
-	 * @param aFile The file that defines this property.
-	 */
-	public PropertiesTreeData(String aName, String aValue, IFile aFile) { 
-		name = aName;
-		value = aValue;
-		container = aFile; 
-	} 
- 
-	/**
-	 * The name of this property.
-	 * @return The name of this property.
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Return the value of the property in the file.  
-	 * @return The value of the property in the file.
-	 */
-	public String getValue() {
-		return value;
-	}
-
-	/**
-	 * The IFile that defines this property.  
-	 * @return The IFile that defines this property.
-	 */
-	public IFile getFile() { 
-		return container;
-	}
-
-	public int hashCode() {
-		return name.hashCode();
-	}
-
-	public boolean equals(Object obj) {
-		return obj instanceof PropertiesTreeData
-				&& ((PropertiesTreeData) obj).getName().equals(name);
-	} 
-
-	public String toString() {
-		StringBuffer toString = 
-				new StringBuffer(getName()).append(":").append(getValue()); //$NON-NLS-1$
-		return toString.toString();
-	}
-
-
-}
diff --git a/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/actions/DeletePropertyAction.java b/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/actions/DeletePropertyAction.java
deleted file mode 100644
index a2cf6b5..0000000
--- a/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/actions/DeletePropertyAction.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.navigator.actions;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Properties;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionDelegate;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.examples.navigator.PropertiesTreeData;
-import org.eclipse.ui.internal.examples.navigator.Activator;
-
-/**
- * A sample action that can delete a PropertiesTreeData item from a property file. 
- * 
- * @since 3.2
- */
-public class DeletePropertyAction extends ActionDelegate {
-	
-	private IStructuredSelection selection = StructuredSelection.EMPTY;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.ActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection sel) {
-		if(sel instanceof IStructuredSelection)
-			selection = (IStructuredSelection) sel;
-		else 
-			selection = StructuredSelection.EMPTY;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.ActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		  
-		WorkspaceModifyOperation deletePropertyOperation = new WorkspaceModifyOperation() {
-			/* (non-Javadoc)
-			 * @see org.eclipse.ui.actions.WorkspaceModifyOperation#execute(org.eclipse.core.runtime.IProgressMonitor)
-			 */
-			protected void execute(IProgressMonitor monitor) throws CoreException {
-				// In production code, you should always externalize strings, but this is an example.
-				monitor.beginTask("Deleting property from selection", 5); //$NON-NLS-1$ 
-				try {
-					if(selection.size() == 1) {
-						
-						 Object firstElement = selection.getFirstElement();
-						 if(firstElement instanceof PropertiesTreeData) {
-							 PropertiesTreeData data = (PropertiesTreeData) firstElement;
-							 
-							 IFile propertiesFile = data.getFile();
-							 monitor.worked(1);
-							 
-							 if(propertiesFile != null && propertiesFile.isAccessible()) {
-								 
-								 try {
-									// load the model 
-									 Properties properties = new Properties();
-									 properties.load(propertiesFile.getContents());
-									 monitor.worked(1);  
-									 
-									 // delete the property 
-									 properties.remove(data.getName());
-									 monitor.worked(1);
-									 
-									 // persist the model to a temporary storage medium (byte[])
-									 ByteArrayOutputStream output = new ByteArrayOutputStream();
-									 properties.store(output, null);
-									 monitor.worked(1);
-									 
-									 // set the contents of the properties file 
-									 propertiesFile.setContents(
-											 			new ByteArrayInputStream(output.toByteArray()), 
-											 					IResource.FORCE | IResource.KEEP_HISTORY, monitor);
-									 monitor.worked(1);
-								} catch (IOException e) {
-									 // handle error gracefully 
-									Activator.logError(0, "Could not delete property!", e); //$NON-NLS-1$
-									MessageDialog.openError(Display.getDefault().getActiveShell(), 
-							 				"Error Deleting Property",  //$NON-NLS-1$
-							 				"Could not delete property!");   //$NON-NLS-1$
-								}
-									 
-							 } else // shouldn't happen, but handle error condition 
-								 MessageDialog.openError(Display.getDefault().getActiveShell(), 
-										 				"Error Deleting Property",  //$NON-NLS-1$
-										 				"The properties file was not accessible!");   //$NON-NLS-1$
-							 
-						 } else // shouldn't happen, but handle error condition 
-							 MessageDialog.openError(Display.getDefault().getActiveShell(), 
-						 				"Error Deleting Property",  //$NON-NLS-1$
-						 				"The element that was selected was not of the right type.");   //$NON-NLS-1$
-					 } else // shouldn't happen, but handle error condition 
-						 MessageDialog.openError(Display.getDefault().getActiveShell(), 
-					 				"Error Deleting Property",  //$NON-NLS-1$
-					 				"An invalid number of properties were selected.");   //$NON-NLS-1$
-				} finally {
-					monitor.done();
-				}
-			}
-		};		
-		try {
-			PlatformUI.getWorkbench().getProgressService().run(true, false, deletePropertyOperation);
-		} catch (InvocationTargetException e) { 
-			// handle error gracefully			
-			Activator.logError(0, "Could not delete property!", e); //$NON-NLS-1$
-			MessageDialog.openError(Display.getDefault().getActiveShell(), 
-	 				"Error Deleting Property",  //$NON-NLS-1$
-	 				"Could not delete property!");   //$NON-NLS-1$
-		} catch (InterruptedException e) {
-			 // handle error gracefully
-			Activator.logError(0, "Could not delete property!", e); //$NON-NLS-1$
-			MessageDialog.openError(Display.getDefault().getActiveShell(), 
-	 				"Error Deleting Property",  //$NON-NLS-1$
-	 				"Could not delete property!");   //$NON-NLS-1$
-		}
-		 
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/actions/OpenPropertyAction.java b/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/actions/OpenPropertyAction.java
deleted file mode 100644
index 35a8d2d..0000000
--- a/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/actions/OpenPropertyAction.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.ui.examples.navigator.actions;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.FindReplaceDocumentAdapter;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.examples.navigator.PropertiesTreeData;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.examples.navigator.Activator;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * @since 3.2
- *
- */
-public class OpenPropertyAction extends Action {
-	
-	private IWorkbenchPage page;
-	private PropertiesTreeData data;
-	private ISelectionProvider provider; 
-
-
-	/**
-	 * Construct the OpenPropertyAction with the given page. 
-	 * @param p The page to use as context to open the editor.
-	 * @param selectionProvider The selection provider 
-	 */
-	public OpenPropertyAction(IWorkbenchPage p, ISelectionProvider selectionProvider) {
-		setText("Open Property"); //$NON-NLS-1$
-		page = p;
-		provider = selectionProvider;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#isEnabled()
-	 */
-	public boolean isEnabled() {
-		ISelection selection = provider.getSelection();
-		if(!selection.isEmpty()) {
-			IStructuredSelection sSelection = (IStructuredSelection) selection;
-			if(sSelection.size() == 1 && 
-			   sSelection.getFirstElement() instanceof PropertiesTreeData) 
-			{
-				data = ((PropertiesTreeData)sSelection.getFirstElement()); 				
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() { 
-		/* In production code, you should always externalize strings, 
-		 * 	but this is an example. */
-		try {
-			if(isEnabled()) {
-				IFile propertiesFile = data.getFile();
-				IEditorPart editor = IDE.openEditor(page, propertiesFile); 
-				
-				if (editor instanceof ITextEditor) {
-					ITextEditor textEditor = (ITextEditor) editor;
-					
-					IDocumentProvider documentProvider = 
-						textEditor.getDocumentProvider();
-					IDocument document = 
-						documentProvider.getDocument(editor.getEditorInput());
-					
-					FindReplaceDocumentAdapter searchAdapter = 
-						new FindReplaceDocumentAdapter(document);
-					
-					try {
-						String searchText = data.getName()+"="; //$NON-NLS-1$ 
-						IRegion region = searchAdapter.find(0, 
-															searchText, 
-															true /* forwardSearch */, 
-															true /* caseSensitive */, 
-															false /* wholeWord */, 
-															false /* regExSearch */); 
-						
-						((ITextEditor)editor).selectAndReveal(region.getOffset(), region.getLength());
-						
-					} catch (BadLocationException e) {
-						Activator.logError(0, "Could not open property!", e); //$NON-NLS-1$
-						MessageDialog.openError(Display.getDefault().getActiveShell(), 
-				 				"Error Opening Property",  //$NON-NLS-1$
-				 				"Could not open property!");   //$NON-NLS-1$
-					}
-					return;
-				}
-			} 
-		} catch (PartInitException e) { 
-			Activator.logError(0, "Could not open property!", e); //$NON-NLS-1$
-			MessageDialog.openError(Display.getDefault().getActiveShell(), 
-	 				"Error Opening Property",  //$NON-NLS-1$
-	 				"Could not open property!");   //$NON-NLS-1$
-		}
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/actions/PropertyActionProvider.java b/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/actions/PropertyActionProvider.java
deleted file mode 100644
index 7b77d54..0000000
--- a/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/examples/navigator/actions/PropertyActionProvider.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.ui.examples.navigator.actions;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.navigator.CommonActionProvider;
-import org.eclipse.ui.navigator.ICommonActionConstants;
-import org.eclipse.ui.navigator.ICommonActionExtensionSite;
-import org.eclipse.ui.navigator.ICommonMenuConstants;
-import org.eclipse.ui.navigator.ICommonViewerSite;
-import org.eclipse.ui.navigator.ICommonViewerWorkbenchSite;
-
-/**
- * @since 3.2
- *
- */
-public class PropertyActionProvider extends CommonActionProvider {
-	
-	private OpenPropertyAction openAction;
-
-	/**
-	 * Construct Property Action provider.
-	 */
-	public PropertyActionProvider() { 		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.CommonActionProvider#init(org.eclipse.ui.navigator.ICommonActionExtensionSite)
-	 */
-	public void init(ICommonActionExtensionSite aSite) {
-	
-		ICommonViewerSite viewSite = aSite.getViewSite();
-		if(viewSite instanceof ICommonViewerWorkbenchSite) {
-			ICommonViewerWorkbenchSite workbenchSite = 
-				(ICommonViewerWorkbenchSite) viewSite;
-			openAction = 
-				new OpenPropertyAction(workbenchSite.getPage(), 
-										workbenchSite.getSelectionProvider());
-		}
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.ActionGroup#fillActionBars(org.eclipse.ui.IActionBars)
-	 */
-	public void fillActionBars(IActionBars actionBars) { 
-		/* Set up the property open action when enabled. */
-		if(openAction.isEnabled())
-			actionBars.setGlobalActionHandler(ICommonActionConstants.OPEN, openAction);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.ActionGroup#fillContextMenu(org.eclipse.jface.action.IMenuManager)
-	 */
-	public void fillContextMenu(IMenuManager menu) {
-		if(openAction.isEnabled())
-			menu.appendToGroup(ICommonMenuConstants.GROUP_OPEN, openAction);		
-	}
-	
-	
-}
diff --git a/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/internal/examples/navigator/Activator.java b/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/internal/examples/navigator/Activator.java
deleted file mode 100644
index 02cd914..0000000
--- a/examples/org.eclipse.ui.examples.navigator/src/org/eclipse/ui/internal/examples/navigator/Activator.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.examples.navigator;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	/** The plug-in ID */
-	public static final String PLUGIN_ID = "org.eclipse.ui.examples.navigator"; //$NON-NLS-1$
-	  
-	// The shared instance
-	private static Activator plugin;  
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context); 
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);  
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	} 
-
-	/**
-	 * Record an error against this plugin's log. 
-	 * 
-	 * @param aCode
-	 * @param aMessage
-	 * @param anException
-	 */
-	public static void logError(int aCode, String aMessage,
-			Throwable anException) {
-		getDefault().getLog().log(
-				createErrorStatus(aCode, aMessage, anException));
-	}
-
-	/**
-	 * 
-	 * Record a message against this plugin's log. 
-	 * 
-	 * @param severity
-	 * @param aCode
-	 * @param aMessage
-	 * @param exception
-	 */
-	public static void log(int severity, int aCode, String aMessage,
-			Throwable exception) {
-		log(createStatus(severity, aCode, aMessage, exception));
-	}
-
-	/**
-	 * 
-	 * Record a status against this plugin's log. 
-	 * 
-	 * @param aStatus
-	 */
-	public static void log(IStatus aStatus) {
-		getDefault().getLog().log(aStatus);
-	}
-
-	/**
-	 * Create a status associated with this plugin.
-	 *  
-	 * @param severity
-	 * @param aCode
-	 * @param aMessage
-	 * @param exception
-	 * @return A status configured with this plugin's id and the given parameters.
-	 */
-	public static IStatus createStatus(int severity, int aCode,
-			String aMessage, Throwable exception) {
-		return new Status(severity, PLUGIN_ID, aCode,
-				aMessage != null ? aMessage : "No message.", exception); //$NON-NLS-1$
-	}
-
-	/**
-	 * 
-	 * @param aCode
-	 * @param aMessage
-	 * @param exception
-	 * @return A status configured with this plugin's id and the given parameters.
-	 */
-	public static IStatus createErrorStatus(int aCode, String aMessage,
-			Throwable exception) {
-		return createStatus(IStatus.ERROR, aCode, aMessage, exception);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/.classpath b/examples/org.eclipse.ui.examples.presentation/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/examples/org.eclipse.ui.examples.presentation/.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.presentation/.cvsignore b/examples/org.eclipse.ui.examples.presentation/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.ui.examples.presentation/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.ui.examples.presentation/.project b/examples/org.eclipse.ui.examples.presentation/.project
deleted file mode 100644
index caf64e4..0000000
--- a/examples/org.eclipse.ui.examples.presentation/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.presentation</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/examples/org.eclipse.ui.examples.presentation/BareBonesPresentation.ini b/examples/org.eclipse.ui.examples.presentation/BareBonesPresentation.ini
deleted file mode 100644
index 6cb8033..0000000
--- a/examples/org.eclipse.ui.examples.presentation/BareBonesPresentation.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-# use the Bare-bones presentation style
-org.eclipse.ui/presentationFactoryId=org.eclipse.ui.examples.presentation.barebones
diff --git a/examples/org.eclipse.ui.examples.presentation/WrappedTabsPresentation.ini b/examples/org.eclipse.ui.examples.presentation/WrappedTabsPresentation.ini
deleted file mode 100644
index 30e3cb0..0000000
--- a/examples/org.eclipse.ui.examples.presentation/WrappedTabsPresentation.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-# use the Wrapped-Tabs presentation style
-org.eclipse.ui/presentationFactoryId=org.eclipse.ui.examples.presentation.wrappedtabs
diff --git a/examples/org.eclipse.ui.examples.presentation/about.html b/examples/org.eclipse.ui.examples.presentation/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.ui.examples.presentation/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.presentation/build.properties b/examples/org.eclipse.ui.examples.presentation/build.properties
deleted file mode 100644
index 31f3e08..0000000
--- a/examples/org.eclipse.ui.examples.presentation/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.presentation.jar = src/
-output.presentation.jar = bin/
-bin.includes = plugin.xml,\
-               presentation.jar,\
-               icons/
-src.includes = icons/,\
-               src/,\
-               doc/,\
-               plugin.xml
diff --git a/examples/org.eclipse.ui.examples.presentation/eclipsecon2005-presentationsAPI.ppt b/examples/org.eclipse.ui.examples.presentation/eclipsecon2005-presentationsAPI.ppt
deleted file mode 100644
index 6add476..0000000
--- a/examples/org.eclipse.ui.examples.presentation/eclipsecon2005-presentationsAPI.ppt
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.presentation/icons/close_view.gif b/examples/org.eclipse.ui.examples.presentation/icons/close_view.gif
deleted file mode 100644
index 44b6151..0000000
--- a/examples/org.eclipse.ui.examples.presentation/icons/close_view.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.presentation/icons/hide_toolbar.GIF b/examples/org.eclipse.ui.examples.presentation/icons/hide_toolbar.GIF
deleted file mode 100644
index 5858e4a..0000000
--- a/examples/org.eclipse.ui.examples.presentation/icons/hide_toolbar.GIF
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.presentation/icons/max_view.gif b/examples/org.eclipse.ui.examples.presentation/icons/max_view.gif
deleted file mode 100644
index 94ed448..0000000
--- a/examples/org.eclipse.ui.examples.presentation/icons/max_view.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.presentation/icons/min_view.gif b/examples/org.eclipse.ui.examples.presentation/icons/min_view.gif
deleted file mode 100644
index bd2ed2d..0000000
--- a/examples/org.eclipse.ui.examples.presentation/icons/min_view.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.presentation/icons/restore_view.GIF b/examples/org.eclipse.ui.examples.presentation/icons/restore_view.GIF
deleted file mode 100644
index 942d60c..0000000
--- a/examples/org.eclipse.ui.examples.presentation/icons/restore_view.GIF
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.presentation/icons/show_toolbar.GIF b/examples/org.eclipse.ui.examples.presentation/icons/show_toolbar.GIF
deleted file mode 100644
index eda10ab..0000000
--- a/examples/org.eclipse.ui.examples.presentation/icons/show_toolbar.GIF
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.presentation/icons/view_menu.GIF b/examples/org.eclipse.ui.examples.presentation/icons/view_menu.GIF
deleted file mode 100644
index 21ec7f1..0000000
--- a/examples/org.eclipse.ui.examples.presentation/icons/view_menu.GIF
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.presentation/plugin.xml b/examples/org.eclipse.ui.examples.presentation/plugin.xml
deleted file mode 100644
index 18da18c..0000000
--- a/examples/org.eclipse.ui.examples.presentation/plugin.xml
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<!-- =================================================================================== -->
-<!-- Presentation Example Manifest						 					                                 -->
-<!-- =================================================================================== -->
-<plugin
-   id="org.eclipse.ui.examples.presentation"
-   name="Presentation Example"
-   version="1.0.7"
-   provider-name="Eclipse.org"
-   class="org.eclipse.ui.examples.presentation.PresentationPlugin">
-
-<!-- =================================================================================== -->
-<!-- Libraries					 					                                 -->
-<!-- =================================================================================== -->
-
-   <runtime>
-      <library name="presentation.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-<!-- =================================================================================== -->
-<!-- Imports						 					                                 -->
-<!-- =================================================================================== -->
-  
-<requires>
-  <import plugin="org.eclipse.ui"/>
-  <import plugin="org.eclipse.core.runtime"/>
-</requires>
-
-<!-- =================================================================================== -->
-<!-- Presentation Extensions						 					                                 -->
-<!-- =================================================================================== -->
-
-   <extension
-         point="org.eclipse.ui.presentationFactories">
-      <factory
-            class="org.eclipse.ui.examples.presentation.barebones.BareBonesPresentationFactory"
-            name="Bare-bones presentation"
-            id="org.eclipse.ui.examples.presentation.barebones"/>
-   </extension>
-   <extension
-         point="org.eclipse.ui.presentationFactories">
-      <factory
-            class="org.eclipse.ui.examples.presentation.wrappedtabs.WrappedTabsPresentationFactory"
-            name="Wrapped tabs presentation"
-            id="org.eclipse.ui.examples.presentation.wrappedtabs"/>
-   </extension>
-      <extension
-         point="org.eclipse.ui.presentationFactories">
-      <factory
-            class="org.eclipse.ui.internal.presentations.defaultpresentation.NativePresentationFactory"
-            name="Native Tabs"
-            id="org.eclipse.ui.internal.presentations.defaultpresentation.NativePresentationFactory"/>
-      <factory
-            class="org.eclipse.ui.examples.presentation.baretittle.BareTitlePresentationFactory"
-            id="org.eclipse.ui.examples.presentation.factory1"
-            name="Simple Title"/>
-      <factory
-            class="org.eclipse.ui.examples.presentation.sidewinder.SideWinderPresentationFactory"
-            id="org.eclipse.ui.examples.presentation.factory2"
-            name="Side Winder"/>
-   </extension>
-
-<!-- =================================================================================== -->
-<!-- Themes						 					                                 -->
-<!-- =================================================================================== -->
-
-<extension point="org.eclipse.ui.themes">
-	<themeElementCategory
-    	id="org.eclipse.ui.examples.presentation.wrappedtabstheme"
-       	label="WrappedTabs Presentation"/>
-    <categoryPresentationBinding
-            categoryId="org.eclipse.ui.examples.presentation.wrappedtabstheme"
-            presentationId="org.eclipse.ui.examples.presentation.wrappedtabs">
-      </categoryPresentationBinding>
-	<colorDefinition 
-        id="org.eclipse.ui.examples.presentation.wrappedtabstheme.foreground_focus"
-        categoryId="org.eclipse.ui.examples.presentation.wrappedtabstheme"
-        label="Border Color (Focus)"
-        value="COLOR_WIDGET_BORDER">
-        <description>
-        This color is used for the forground color of the stack border when it has focus.
-        </description>
-      </colorDefinition>
-      <colorDefinition 
-        id="org.eclipse.ui.examples.presentation.wrappedtabstheme.foreground_nofocus"
-        categoryId="org.eclipse.ui.examples.presentation.wrappedtabstheme"
-        label="Border Color (No-Focus)"
-        value="COLOR_WIDGET_NORMAL_SHADOW">
-        <description>
-        This color is used for the forground color of the stack border when it doesn't have focus.
-        </description>
-      </colorDefinition>  
-      <fontDefinition
-        id="org.eclipse.ui.examples.presentation.wrappedtabstheme.font"
-        categoryId="org.eclipse.ui.examples.presentation.wrappedtabstheme"        
-        label="Tab Font"
-        defaultsTo="org.eclipse.jface.textfont">
-        <description>
-        This font is used to display the part selection tabs.
-        </description>
-      </fontDefinition>  
-      <data
-       name="org.eclipse.ui.examples.presentation.wrappedtabstheme.bordersize"
-       value="1"/>
-       
-       <theme
-        id="org.eclipse.ui.examples.presentation.wrappedtabstheme.harsh"
-        name="Harsh Wrapped Tabs Theme">
-        <colorOverride
-         id="org.eclipse.ui.examples.presentation.wrappedtabstheme.foreground_focus"
-         value="COLOR_CYAN"/>
-        <colorOverride
-         id="org.eclipse.ui.examples.presentation.wrappedtabstheme.foreground_nofocus"
-         value="COLOR_MAGENTA"/>
-      <data
-           name="org.eclipse.ui.examples.presentation.wrappedtabstheme.bordersize"
-           value="5"/>      
-      </theme> 
-</extension> 
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationExamplesPlugin.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationExamplesPlugin.java
deleted file mode 100644
index 0e21c87..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationExamplesPlugin.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.ui.examples.presentation;
-
-import org.eclipse.ui.plugin.*;
-import org.osgi.framework.BundleContext;
-import java.util.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class PresentationExamplesPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static PresentationExamplesPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public PresentationExamplesPlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("org.eclipse.ui.examples.presentation.PresentationExamplesPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static PresentationExamplesPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = PresentationExamplesPlugin.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;
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationImages.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationImages.java
deleted file mode 100644
index 3f929c8..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationImages.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.examples.presentation;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-
-
-/**
- * @since 3.0
- */
-public class PresentationImages {	
-	public static final String CLOSE_VIEW = "close_view.gif";
-	public static final String MIN_VIEW = "min_view.gif";
-	public static final String MAX_VIEW = "max_view.gif";
-	public static final String RESTORE_VIEW = "restore_view.gif";
-	public static final String VIEW_MENU = "view_menu.gif";
-	public static final String SHOW_TOOLBAR = "show_toolbar.gif";
-	public static final String HIDE_TOOLBAR = "hide_toolbar.gif";
-	
-	private PresentationImages() {
-	}
-	
-	public static Image getImage(String imageName) {
-		return PresentationPlugin.getDefault().getImage(imageName);
-	}
-	
-	public static ImageDescriptor getImageDescriptor(String imageName) {
-		return PresentationPlugin.getDefault().getImageDescriptor(imageName);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationPlugin.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationPlugin.java
deleted file mode 100644
index c11e638..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/PresentationPlugin.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package org.eclipse.ui.examples.presentation;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class PresentationPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static PresentationPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public PresentationPlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("org.eclipse.ui.examples.presentation.PresentationPluginResources"); //$NON-NLS-1$
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-	
-	/**
-	 * Returns the given image. The image will be managed by the plugin's
-	 * image registry.
-	 * 
-	 * @param imageName a pathname relative to the icons directory of
-	 * this project.
-	 */
-	public Image getImage(String imageName) {
-		ImageRegistry reg = getImageRegistry();
-		
-		Image result = reg.get(imageName);
-		
-		if (result != null) {
-			return result;
-		}
-		
-		result = getImageDescriptor(imageName).createImage();
-		
-		reg.put(imageName, result);
-		
-		return result;
-	}
-
-	/**
-	 * Returns the given image descriptor. The caller will be responsible
-	 * for deallocating the image if it creates the image from the descriptor
-	 * 
-	 * @param imageName is a pathname relative to the icons directory 
-	 * within this project.
-	 */
-	public ImageDescriptor getImageDescriptor(String imageName) {		
-		ImageDescriptor desc;
-		try {
-			desc =
-				ImageDescriptor.createFromURL(
-					new URL(
-							plugin.getBundle().getEntry("/"), //$NON-NLS-1$
-							"icons/" + imageName)); //$NON-NLS-1$
-		} catch (MalformedURLException e) {
-			desc = ImageDescriptor.getMissingImageDescriptor();
-		}
-					
-		return desc;
-	}
-	
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static PresentationPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = PresentationPlugin.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;
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/barebones/BareBonesPartPresentation.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/barebones/BareBonesPartPresentation.java
deleted file mode 100644
index 0272339..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/barebones/BareBonesPartPresentation.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.barebones;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.presentations.IPresentablePart;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.StackDropResult;
-import org.eclipse.ui.presentations.StackPresentation;
-
-/**
- * Bare-bones stack presentation. The currently selected part fills the entire
- * presentation area, and all other parts are invisible. Does not provide a 
- * system menu, pane menu, trim, drag/drop, toolbars, or any way to switch 
- * parts.
- */
-public class BareBonesPartPresentation extends StackPresentation {
-
-/**
- * Main widget for the presentation
- */
-private Composite presentationControl;
-
-/**
- * Currently selected part
- */
-private IPresentablePart current;
-
-/**
- * Creates a new bare-bones part presentation, given the parent composite and 
- * an IStackPresentationSite interface that will be used to communicate with 
- * the workbench.
- * 
- * @param stackSite interface to the workbench
- */
-public BareBonesPartPresentation(Composite parent, 
-		IStackPresentationSite stackSite) {
-	super(stackSite);		
-	
-	// Create a top-level control for the presentation.
-	presentationControl = new Composite(parent, SWT.NONE);
-	
-	// Add a dispose listener. This will call the presentationDisposed()
-	// method when the widget is destroyed.
-	presentationControl.addDisposeListener(new DisposeListener() {
-		public void widgetDisposed(DisposeEvent e) {
-			presentationDisposed();
-		}
-	});
-}
-
-public void dispose() {
-	// Dispose the main presentation widget. This will cause 
-	// presentationDisposed to be called, which will do the real cleanup.
-	presentationControl.dispose();
-}
-
-/**
- * Perform any cleanup. This method should remove any listeners that were
- * attached to other objects. This gets called when the presentation
- * widget is disposed. This is safer than cleaning up in the dispose() 
- * method, since this code will run even if some unusual circumstance 
- * destroys the Shell without first calling dispose().
- */
-protected void presentationDisposed() {
-	// Remove any listeners that were attached to any IPresentableParts or
-	// global Eclipse resources. This is necessary in order to prevent
-	// memory leaks. Currently, there is nothing to do.
-}
-
-public void setBounds(Rectangle bounds) {
-	// Set the bounds of the presentation widget
-	presentationControl.setBounds(bounds);
-	
-	// Update the bounds of the currently visible part
-	updatePartBounds();
-}
-
-private void updatePartBounds() {
-	if (current != null) {
-		current.setBounds(presentationControl.getBounds());
-	}
-}
-
-public Point computeMinimumSize() {
-	return new Point(16,16);
-}
-
-public void setVisible(boolean isVisible) {
-	
-	// Make the presentation widget visible
-	presentationControl.setVisible(isVisible);
-	
-	// Make the currently visible part visible
-	if (current != null) {
-		current.setVisible(isVisible);
-	}
-
-	if (isVisible) {
-		// Restore the bounds of the currently visible part. 
-		// IPartPresentations can be used by multiple StackPresentations,
-		// although only one such presentation is ever visible at a time.
-		// It is possible that some other presentation has changed the
-		// bounds of the part since it was last visible, so we need to
-		// update the part's bounds when the presentation becomes visible.
-		updatePartBounds();
-	}
-}
-
-public void selectPart(IPresentablePart toSelect) {
-	// Ignore redundant selections
-	if (toSelect == current) {
-		return;
-	}
-	
-	// If there was an existing part selected, make it invisible
-	if (current != null) {
-		current.setVisible(false);
-	}
-	
-	// Select the new part
-	current = toSelect;
-	
-	// Ordering is important here. We need to make the part
-	// visible before updating its bounds, or the call to setBounds
-	// may be ignored.
-	
-	if (current != null) {
-		// Make the newly selected part visible
-		current.setVisible(true);
-	}
-	
-	// Update the bounds of the newly selected part
-	updatePartBounds();
-}
-
-public Control[] getTabList(IPresentablePart part) {
-	return new Control[] {part.getControl()};
-}
-
-public Control getControl() {
-	return presentationControl;
-}
-
-// Methods that don't do anything yet
-public void setActive(int newState) {}
-public void setState(int state) {}
-public void addPart(IPresentablePart newPart, Object cookie) {}
-public void removePart(IPresentablePart oldPart) {}
-public StackDropResult dragOver(Control currentControl, Point location) {return null;}
-public void showSystemMenu() {}
-public void showPaneMenu() {}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/barebones/BareBonesPresentationFactory.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/barebones/BareBonesPresentationFactory.java
deleted file mode 100644
index 10455e3..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/barebones/BareBonesPresentationFactory.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.examples.presentation.barebones;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.presentations.AbstractPresentationFactory;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.StackPresentation;
-
-/**
- * Presentation factory for the bare-bones presentation
- */
-public class BareBonesPresentationFactory extends AbstractPresentationFactory {
-
-	public StackPresentation createEditorPresentation(Composite parent,
-			IStackPresentationSite site) {
-		return new BareBonesPartPresentation(parent, site);
-	}
-
-	public StackPresentation createViewPresentation(Composite parent,
-			IStackPresentationSite site) {
-		return new BareBonesPartPresentation(parent, site);
-	}
-	
-	public StackPresentation createStandaloneViewPresentation(Composite parent,
-			IStackPresentationSite site, boolean showTitle) {
-		return new BareBonesPartPresentation(parent, site);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/baretittle/BareTitlePresentationFactory.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/baretittle/BareTitlePresentationFactory.java
deleted file mode 100644
index 4c26dfe..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/baretittle/BareTitlePresentationFactory.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.examples.presentation.baretittle;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.presentations.*;
-
-/**
- * @since 3.0
- */
-public class BareTitlePresentationFactory extends AbstractPresentationFactory {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.AbstractPresentationFactory#createEditorPresentation(org.eclipse.swt.widgets.Composite, org.eclipse.ui.presentations.IStackPresentationSite)
-	 */
-	public StackPresentation createEditorPresentation(Composite parent,
-			IStackPresentationSite site) {
-		return new WorkbenchPresentationFactory().createEditorPresentation(parent, site);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.AbstractPresentationFactory#createViewPresentation(org.eclipse.swt.widgets.Composite, org.eclipse.ui.presentations.IStackPresentationSite)
-	 */
-	public StackPresentation createViewPresentation(Composite parent,
-			IStackPresentationSite site) {
-		return new BareTitleStackPresentation(parent, site);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.AbstractPresentationFactory#createStandaloneViewPresentation(org.eclipse.swt.widgets.Composite, org.eclipse.ui.presentations.IStackPresentationSite, boolean)
-	 */
-	public StackPresentation createStandaloneViewPresentation(Composite parent,
-			IStackPresentationSite site, boolean showTitle) {
-		return new BareTitleStackPresentation(parent, site);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/baretittle/BareTitleStackPresentation.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/baretittle/BareTitleStackPresentation.java
deleted file mode 100644
index a18a0d9..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/baretittle/BareTitleStackPresentation.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.baretittle;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.presentations.*;
-
-public class BareTitleStackPresentation extends StackPresentation {
-
-	private static final String PART_DATA = "part";
-	
-	private static final int TITLE_HEIGHT = 22;
-	
-	private boolean activeFocus = false;
-	
-	/**
-	 * Main widget for the presentation
-	 */
-	private Composite presentationControl;
-	private Composite titleArea;
-	private Composite contentArea;
-	
-	/**
-	 * Currently selected part
-	 */
-	private IPresentablePart current;
-		
-	/**
-	 * close button
-	 */
-	private ToolItem close;
-	
-	/**
-	 * View menu button
-	 */
-	private ToolItem viewMenu;
-	
-	/**
-	 * Minimize button
-	 */
-	private ToolItem minView;
-	
-	private MouseListener mouseListener = new MouseAdapter() {		
-		// If we single-click on an empty space on the toolbar, move focus to the
-		// active control
-		public void mouseDown(MouseEvent e) {
-			if (current != null) {
-				current.setFocus();
-			}
-		}
-	};
-		
-	/** 
-	 * Drag listener for regions outside the toolbar
-	 */
-	Listener dragListener = new Listener() {
-		public void handleEvent(Event event) {
-			Point loc = new Point(event.x, event.y);
-			Control ctrl = (Control)event.widget;
-			
-			getSite().dragStart(ctrl.toDisplay(loc), false);
-		}
-	};
-	
-	public BareTitleStackPresentation(Composite parent, IStackPresentationSite stackSite) {
-		super(stackSite);
-		
-		// Create a top-level control for the presentation.
-		presentationControl = new Composite(parent, SWT.NONE);
-		titleArea = new Composite(presentationControl, SWT.NONE);
-		contentArea = new Composite(presentationControl, SWT.NONE);
-		titleArea.addMouseListener(mouseListener);
-		PresentationUtil.addDragListener(titleArea, dragListener);
-		
-		// Add a dispose listener. This will call the presentationDisposed()
-		// method when the widget is destroyed.
-		presentationControl.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				presentationDisposed();
-			}
-		});
-
-		presentationControl.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				Rectangle clientArea = presentationControl.getClientArea();			
-				e.gc.setLineWidth(1);				
-				e.gc.setForeground(e.display.getSystemColor(SWT.COLOR_DARK_GRAY));
-				e.gc.drawRectangle(clientArea.x, clientArea.y, clientArea.width-1, clientArea.height-1);
-				Rectangle contentAreaBounds = contentArea.getBounds();
-				int ypos = contentAreaBounds.y - 1;				
-				e.gc.drawLine(clientArea.x, ypos, clientArea.x + clientArea.width - 1, ypos);
-			}			
-		});
-		
-		titleArea.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				Rectangle titleRect = titleArea.getClientArea();
-				GC gc = e.gc;
-				e.gc.setBackground(e.display.getSystemColor(SWT.COLOR_GRAY));
-				if(activeFocus)
-					e.gc.setForeground(e.display.getSystemColor(SWT.COLOR_BLUE));
-				else 
-					e.gc.setForeground(e.display.getSystemColor(SWT.COLOR_WHITE));
-				e.gc.fillGradientRectangle(titleRect.x, titleRect.y, titleRect.x + titleRect.width, titleRect.y + titleRect.height, true);
-				
-				if(current != null) {
-				int textWidth = titleRect.width - 1;
-				if (textWidth > 0) {
-					Font gcFont = gc.getFont();
-					gc.setFont(presentationControl.getFont());
-					String text = current.getTitle();
-					
-					Point extent = gc.textExtent(text, SWT.DRAW_TRANSPARENT | SWT.DRAW_MNEMONIC);	
-					int textY = titleRect.y + (titleRect.height - extent.y) / 2;
-					
-					if(activeFocus)					
-						gc.setForeground(e.display.getSystemColor(SWT.COLOR_WHITE));
-					else 
-						gc.setForeground(e.display.getSystemColor(SWT.COLOR_BLACK));
-					gc.setFont(JFaceResources.getBannerFont());
-					gc.drawText(text, titleRect.x + 3, textY, SWT.DRAW_TRANSPARENT | SWT.DRAW_MNEMONIC);					
-				}				
-			}
-			}
-		});
-		layout();
-	}
-
-	protected void presentationDisposed() {
-	    // Remove any listeners that were attached to any
-		// global Eclipse resources. This is necessary in order to prevent
-		// memory leaks.
-	}
-	
-	protected int getBorderWidth() {
-		return 1;
-	}
-	
-	public void layout() {
-		// Determine the inner bounds of the presentation
-		Rectangle presentationClientArea = presentationControl.getClientArea();
-		presentationClientArea.x += getBorderWidth();
-		presentationClientArea.width -= getBorderWidth() * 2;
-		presentationClientArea.y += getBorderWidth();
-		presentationClientArea.height -= getBorderWidth() * 2;
-		titleArea.setBounds(presentationClientArea.x, presentationClientArea.y, presentationClientArea.width, presentationClientArea.y + TITLE_HEIGHT);
-		int yy = TITLE_HEIGHT  + 2;
-		contentArea.setBounds(presentationClientArea.x, presentationClientArea.y + yy, presentationClientArea.width, presentationClientArea.height - yy);
-		
-		titleArea.setBackground(titleArea.getDisplay().getSystemColor(SWT.COLOR_DARK_GREEN));
-		contentArea.setBackground(titleArea.getDisplay().getSystemColor(SWT.COLOR_DARK_RED));
-		
-		// Position the view's widgets
-		if (current != null) {
-			Rectangle clientRectangle = contentArea.getBounds();
-			Point clientAreaStart = presentationControl.getParent().toControl(
-					presentationControl.toDisplay(clientRectangle.x, clientRectangle.y));
-			// current isn't parented by this widget hierarchy, the coordinates must be
-			// relative to the workbench window. The workbench window parents every
-			// part.
-			current.setBounds(new Rectangle(clientAreaStart.x, 
-					clientAreaStart.y,
-					clientRectangle.width, 
-					clientRectangle.height));
-		}
-		
-	}
-	
-	public void setBounds(Rectangle bounds) {
-		presentationControl.setBounds(bounds);
-		layout();
-	}
-
-	public void dispose() {
-	}
-
-	public void setActive(int newState) {
-		activeFocus = (newState == AS_ACTIVE_FOCUS);
-		titleArea.redraw();
-	}
-
-	public void setVisible(boolean isVisible) {
-	}
-
-	public void setState(int state) {
-	}
-
-	public Control getControl() {
-		return presentationControl;
-	}
-
-	public void addPart(IPresentablePart newPart, Object cookie) {
-		newPart.setBounds(contentArea.getBounds());
-		this.current = newPart;
-		layout();
-	}
-
-	public void removePart(IPresentablePart oldPart) {
-	}
-
-	public void selectPart(IPresentablePart toSelect) {
-	}
-
-	public StackDropResult dragOver(Control currentControl, Point location) {
-		return null;
-	}
-
-	public void showSystemMenu() {
-	}
-
-	public void showPaneMenu() {
-	}
-
-	public Control[] getTabList(IPresentablePart part) {
-		if(current != null) {
-			return new Control[] {current.getControl()};
-		} else {
-			return new Control[0];
-		}
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/ClosePartContributionItem.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/ClosePartContributionItem.java
deleted file mode 100644
index 9196b36..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/ClosePartContributionItem.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.sidewinder;
-
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.presentations.IPresentablePart;
-
-public class ClosePartContributionItem extends ContributionItem {
-	private SideWinderItemViewPresentation presentation; 
-	
-	private SelectionAdapter selectionListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			presentation.close(new IPresentablePart[] {presentation.getCurrent()});
-		}
-	};
-	
-	public ClosePartContributionItem(SideWinderItemViewPresentation presentation) {
-		this.presentation = presentation;
-	}
-
-    public void dispose() {
-    	super.dispose();
-        presentation = null;
-        selectionListener = null;
-    }
-    
-    public void fill(Menu menu, int index) {
-		MenuItem item = new MenuItem(menu, SWT.NONE, index);
-		item.setText("Close");
-		item.addSelectionListener(selectionListener);
-		
-		IPresentablePart current = presentation.getCurrent();
-		item.setEnabled(current != null);
-    }
-    
-    public boolean isDynamic() {
-        return true;
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/PartItem.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/PartItem.java
deleted file mode 100644
index c1cced7..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/PartItem.java
+++ /dev/null
@@ -1,226 +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.presentation.sidewinder;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.presentations.IPresentablePart;
-
-public class PartItem extends Canvas implements PaintListener {
-
-	private String text;
-	private Image image;
-	private boolean selected;
-	private boolean focus = false;
-	private IPresentablePart part;
-	
-	private static final int VERT_SPACING = 5;
-	private static final int HORIZ_SPACING = 3;
-	
-	int[] SIMPLE_TOP_LEFT_CORNER = new int[] {0,4, 4,0};
-	int[] SIMPLE_TOP_RIGHT_CORNER = new int[] {0,0, 0,0};
-	
-	//static final int[] SIMPLE_TOP_LEFT_CORNER = new int[] {0,2, 1,1, 2,0};
-	//static final int[] SIMPLE_TOP_RIGHT_CORNER = new int[] {-2,0, -1,1, 0,2};
-	
-	static final int[] SIMPLE_BOTTOM_LEFT_CORNER = new int[] {0,-2, 1,-1, 2,0};
-	static final int[] SIMPLE_BOTTOM_RIGHT_CORNER = new int[] {-2,0, -1,-1, 0,-2};
-	private boolean showImage;
-	private boolean showText;
-	
-	public PartItem(Composite parent, IPresentablePart part) {
-		super(parent, SWT.NONE);
-		addPaintListener(this);
-		this.part = part;
-	}
-
-	public void paintControl(PaintEvent e) {
-		Rectangle titleRect = getClientArea();
-		int x = titleRect.x + VERT_SPACING;
-		int y = titleRect.y + HORIZ_SPACING;
-		GC gc = e.gc;
-		setBackground(getParent().getBackground());
-		fill(gc, titleRect.x, titleRect.y, titleRect.width - 1, titleRect.height);
-		
-		Image image = getImage();
-		if (image != null && showImage) {
-			Rectangle imageBounds = image.getBounds();
-				int imageX = x;
-				int imageHeight = imageBounds.height;
-				int imageY = (titleRect.height - imageHeight) / 2;
-				int imageWidth = imageBounds.width * imageHeight / imageBounds.height;
-				gc.drawImage(image, 
-					         imageBounds.x, imageBounds.y, imageBounds.width, imageBounds.height,
-					         imageX, imageY, imageWidth, imageHeight);
-				x += imageWidth + VERT_SPACING;		
-		}
-		
-		int textWidth = titleRect.width - 1;
-		if (textWidth > 0 && text != null && showText) {
-			Font gcFont = gc.getFont();
-			gc.setFont(getFont());
-			Point extent = gc.textExtent(text, SWT.DRAW_TRANSPARENT | SWT.DRAW_MNEMONIC);	
-			int textY = titleRect.y + (titleRect.height - extent.y) / 2;
-			
-			if(selected)					
-				gc.setForeground(e.display.getSystemColor(SWT.COLOR_WHITE));
-			else 
-				gc.setForeground(e.display.getSystemColor(SWT.COLOR_BLACK));
-			gc.setFont(JFaceResources.getDefaultFont());
-			gc.drawText(text, x, textY, SWT.DRAW_TRANSPARENT | SWT.DRAW_MNEMONIC);	
-		}
-		
-	}	
-	
-	public Point computeSize(int wHint, int hHint) {
-		int width = VERT_SPACING; int height = HORIZ_SPACING;
-		GC gc = new GC(this);
-		if(image != null && showImage) {
-			Rectangle imageBounds = image.getBounds();			
-			height = imageBounds.height + HORIZ_SPACING;
-			width += imageBounds.width + VERT_SPACING;
-		}
-		
-		if(text != null && showText) {
-			Point extent = gc.textExtent(text, SWT.DRAW_TRANSPARENT | SWT.DRAW_MNEMONIC);
-			width += extent.x + VERT_SPACING;
-			height = Math.max(height, extent.y) + HORIZ_SPACING;
-		}
-		
-		if (wHint != SWT.DEFAULT) width = wHint;
-		if (hHint != SWT.DEFAULT) height = hHint;
-		gc.dispose();
-		return new Point(width, height);
-	}
-	
-	private void fill(GC gc, int x, int y, int width, int height) {
-		int[] left = SIMPLE_TOP_LEFT_CORNER;
-		int[] right = SIMPLE_TOP_RIGHT_CORNER;
-		int[] shape = new int[left.length + right.length + 4];
-		int index = 0;
-		shape[index++] = x;
-		shape[index++] = y + height + 1;
-		for (int i = 0; i < left.length / 2; i++) {
-			shape[index++] = x + left[2 * i];
-			shape[index++] = y + left[2 * i + 1];
-		}
-		for (int i = 0; i < right.length / 2; i++) {
-			shape[index++] = x + width + right[2 * i];
-			shape[index++] = y + right[2 * i + 1];
-		}
-		shape[index++] = x + width;
-		shape[index++] = y + height + 1;
-		
-		// Fill in background
-		Region clipping = new Region();
-		gc.getClipping(clipping);
-		Region region = new Region();
-		region.add(shape);
-		region.intersect(clipping);
-		gc.setClipping(region);
-		
-		gc.setBackground(getDisplay().getSystemColor(SWT.COLOR_GRAY));
-		
-		Color fg = null;
-		if(part.isDirty())
-			fg = getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY);
-		else if(!selected)
-			fg = getDisplay().getSystemColor(SWT.COLOR_WHITE);
-		//else if(focus)
-			//fg = getDisplay().getSystemColor(SWT.COLOR_BLUE);
-		else 
-			fg = getDisplay().getSystemColor(SWT.COLOR_BLUE);
-		
-		gc.setForeground(fg);
-		
-		gc.fillGradientRectangle(x, y, x + width, y + height, true);
-		//gc.fillRectangle(x, y, x + width, y + height);
-		
-		
-		region.dispose();
-		clipping.dispose();
-		
-		gc.setClipping((Rectangle)null);
-		gc.setForeground(getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY));
-		gc.drawPolyline(shape);
-		
-		
-		// Fill in parent background for non-rectangular shape
-		Region r = new Region();
-		r.add(new Rectangle(x, y, width + 1, height + 1));
-		r.subtract(shape);
-		gc.setBackground(getParent().getBackground());
-		//fillRegion(gc, r);
-		r.dispose();
-	}
-	
-	static void fillRegion(GC gc, Region region) {
-		// NOTE: region passed in to this function will be modified
-		Region clipping = new Region();
-		gc.getClipping(clipping);
-		region.intersect(clipping);
-		gc.setClipping(region);
-		gc.fillRectangle(region.getBounds());
-		gc.setClipping(clipping);
-		clipping.dispose();
-	}
-	
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		return computeSize(wHint, hHint);
-	}
-	
-	public void setText(String text) {
-		this.text = text;
-		redraw();
-	}
-	
-	public String getText() {
-		return this.text;
-	}
-	
-	public void setImage(Image image) {
-		this.image = image;
-	}
-	
-	public Image getImage() {
-		return this.image;	
-	}
-	
-	public void setSelected(boolean selected) {
-		this.selected = selected;
-		redraw();
-	}
-	
-	public boolean getSelected() {
-		return this.selected;
-	}
-	
-	public boolean isFocus() {
-		return focus;
-	}
-	
-	public void setFocus(boolean focus) {
-		this.focus = focus;
-	}
-
-	public void setShowImage(boolean showImage) {
-		this.showImage = showImage;
-	}
-
-	public void setShowText(boolean showText) {
-		this.showText = showText;
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/SideWinderItemViewPresentation.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/SideWinderItemViewPresentation.java
deleted file mode 100644
index 78a02d5..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/SideWinderItemViewPresentation.java
+++ /dev/null
@@ -1,650 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.sidewinder;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ViewForm;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.examples.presentation.wrappedtabs.ProxyControl;
-import org.eclipse.ui.presentations.IPartMenu;
-import org.eclipse.ui.presentations.IPresentablePart;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.PresentationUtil;
-import org.eclipse.ui.presentations.StackDropResult;
-import org.eclipse.ui.presentations.StackPresentation;
-
-public class SideWinderItemViewPresentation extends StackPresentation {
-
-	private static final String PART_DATA = "part";
-	
-	private static final int TITLE_HEIGHT = 22;
-	
-	private boolean activeFocus = false;
-	
-	/**
-	 * Main widget for the presentation
-	 */
-	private Composite presentationControl;
-	private Composite titleArea;
-	private Composite clientArea;
-	private Composite statusLineArea;
-	private ViewForm contentArea;
-	private ProxyControl toolbarProxy;
-	
-	/**
-	 * Currently selected part
-	 */
-	private IPresentablePart current;
-		
-	/**
-	 * close button
-	 */
-	private ToolItem close;
-	
-	/**
-	 * View menu button
-	 */
-	private ToolItem viewMenu;
-	
-	/**
-	 * Minimize button
-	 */
-	private ToolItem minView;
-	
-	
-	private int style = SWT.VERTICAL | SWT.LEFT;
-	
-	private boolean titleAreaHiden = false;
-	
-	/**
-	 * This listener responds to selection events in all tool items.
-	 */
-	private MouseListener mouseListener = new MouseAdapter() {		
-		// If we single-click on an empty space on the toolbar, move focus to the
-		// active control
-		public void mouseDown(MouseEvent e) {
-			PartItem toolItem = (PartItem) e.widget;
-			IPresentablePart item = getPartForTab(toolItem);
-			if (item != null) {
-				// Clicking on the active tab should give focus to the current
-				// part
-				if (item == current) {
-					item.setFocus();
-				}
-				getSite().selectPart(item);
-				selectPart(item);
-				Point toDisplay = toolItem.toDisplay(new Point(e.x, e.y));
-				if (e.button == 3) {
-					showSystemMenu(toDisplay);
-				} else {
-					Image image = toolItem.getImage();
-					if (image != null) {
-						if (image.getBounds().contains(e.x, e.y)) {
-							showPaneMenu(toDisplay);
-						}
-					}
-				}
-			}
-		}
-	};
-	
-	/**
-	 * Listener attached to all child parts. It responds to changes in part properties
-	 */
-	private IPropertyListener childPropertyChangeListener = new IPropertyListener() {
-		public void propertyChanged(Object source, int property) {			
-			if (source instanceof IPresentablePart) {
-				IPresentablePart part = (IPresentablePart) source;				
-				updatePartItem(getPartItem(part), part);
-			}
-		}	
-	};
-	
-	/**
-	 * Listener attached to all tool items. It removes listeners from the associated
-	 * part when the tool item is destroyed. This is required to prevent memory leaks.
-	 */
-	private DisposeListener tabDisposeListener = new DisposeListener() {
-		public void widgetDisposed(DisposeEvent e) {
-			if (e.widget instanceof ToolItem) {
-				PartItem item = (PartItem)e.widget;
-				
-				IPresentablePart part = getPartForTab(item);
-				
-				part.removePropertyListener(childPropertyChangeListener);
-			}
-		}
-	};
-		
-	/** 
-	 * Drag listener for regions outside the toolbar
-	 */
-	Listener dragListener = new Listener() {
-		public void handleEvent(Event event) {
-			Point loc = new Point(event.x, event.y);
-			Control ctrl = (Control)event.widget;
-			
-			getSite().dragStart(ctrl.toDisplay(loc), false);
-		}
-	};
-	
-	private Listener menuListener = new Listener() {
-		public void handleEvent(Event event) {
-			Point globalPos = new Point(event.x, event.y);
-					showSystemMenu(globalPos);
-					return;
-		}
-	};
-
-	private boolean showText;
-
-	private boolean showImage;
-	
-	private MenuManager systemMenuManager= new MenuManager();
-
-	private Listener hideTitleListener = new Listener() {
-
-		public void handleEvent(Event event) {
-			if (!titleAreaHiden) {
-				titleAreaHiden = true;
-				layout();
-			}
-		}
-	};
-	private Listener showTitleListener = new Listener() {
-
-		public void handleEvent(Event event) {
-			if (titleAreaHiden) {
-				titleAreaHiden = false;
-				layout();
-			}
-		}
-	};
-	
-	public SideWinderItemViewPresentation(Composite parent, IStackPresentationSite stackSite, boolean showText, boolean showImage, int style) {
-		super(stackSite);
-		this.showText = showText;
-		this.showImage = showImage;
-		this.style = style;
-		
-		// Create a top-level control for the presentation.
-		presentationControl = new Composite(parent, SWT.NONE);
-		titleArea = new Composite(presentationControl, SWT.NONE);
-		
-		//statusLineArea = new Composite(titleArea, SWT.NONE);
-		//HeapStatusContributionItem item = new HeapStatusContributionItem(PlatformUI.getPreferenceStore());
-		//item.fill(statusLineArea);
-		
-		contentArea = new ViewForm(presentationControl, SWT.NONE);
-		clientArea = new Composite(contentArea, SWT.NONE);
-		clientArea.setVisible(false);
-		
-		contentArea.setContent(clientArea);
-		toolbarProxy = new ProxyControl(contentArea);
-
-		PresentationUtil.addDragListener(titleArea, dragListener);
-		titleArea.addListener(SWT.MenuDetect, menuListener);
-		//titleArea.addListener(SWT.MouseEnter, showTitleListener);
-		//titleArea.addListener(SWT.MouseExit, hideTitleListener);
-		
-		RowLayout rowLayout = new RowLayout ();
-		rowLayout.marginLeft = 0;
-		rowLayout.marginRight = 0;
-		rowLayout.marginTop = 0;
-		rowLayout.marginBottom = 0;
-		rowLayout.type = style;
-		//rowLayout.justify = true;
-		if((style & SWT.VERTICAL) != 0) {
-			rowLayout.fill = true;
-		}
-		rowLayout.spacing = 0;
-		titleArea.setLayout (rowLayout);
-		
-		// Add a dispose listener. This will call the presentationDisposed()
-		// method when the widget is destroyed.
-		presentationControl.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				presentationDisposed();
-			}
-		});
-
-		presentationControl.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				int borderWidth = getBorderWidth();
-				Rectangle clientArea = presentationControl.getClientArea();			
-				e.gc.setLineWidth(borderWidth);			
-				if(activeFocus)
-					e.gc.setForeground(e.display.getSystemColor(SWT.COLOR_BLUE));
-				else 
-					e.gc.setForeground(e.display.getSystemColor(SWT.COLOR_DARK_GRAY));
-				e.gc.drawRectangle(clientArea.x, clientArea.y, clientArea.width, clientArea.height);
-				Rectangle contentAreaBounds = contentArea.getBounds();
-				int ypos = contentAreaBounds.y - 1;				
-				//e.gc.drawLine(clientArea.x, ypos, clientArea.x + clientArea.width, ypos);
-			}			
-		});			
-		createSystemMenu();
-		update();
-	}
-
-	public IPresentablePart getCurrent() {
-		return current;
-	}
-	
-	protected void presentationDisposed() {
-	    // Remove any listeners that were attached to any
-		// global Eclipse resources. This is necessary in order to prevent
-		// memory leaks.
-	}
-	
-	protected int getBorderWidth() {
-		return 2;
-	}
-	
-	public void showSystemMenu(Point displayPos) {
-		Menu aMenu = systemMenuManager.createContextMenu(titleArea);
-		systemMenuManager.update(true);
-		aMenu.setLocation(displayPos.x, displayPos.y);
-		aMenu.setVisible(true);		
-	}
-	
-	private final void createSystemMenu() {
-		getSite().addSystemActions(systemMenuManager);
-		// This example presentation includes the part list at the end of the system menu
-		systemMenuManager.add(new Separator());
-		systemMenuManager.add(new ClosePartContributionItem(this));
-		systemMenuManager.add(new Separator());
-		
-		
-		Action topAction = new Action("Top", IAction.AS_RADIO_BUTTON) {
-			public void run() {
-				SideWinderItemViewPresentation.this.style = SWT.TOP;
-				setChecked((SideWinderItemViewPresentation.this.style & SWT.TOP) != 0);
-				update();
-			}			
-		};
-		topAction.setChecked((style & SWT.TOP) != 0);
-		systemMenuManager.add(topAction);	
-		
-		Action bottomAction = new Action("Bottom", IAction.AS_RADIO_BUTTON) {
-			public void run() {
-				SideWinderItemViewPresentation.this.style = SWT.BOTTOM;
-				setChecked((SideWinderItemViewPresentation.this.style & SWT.BOTTOM) != 0);
-				update();
-			}			
-		};
-		bottomAction.setChecked((style & SWT.BOTTOM) != 0);
-		systemMenuManager.add(bottomAction);	
-		
-		Action rightAction = new Action("Right", IAction.AS_RADIO_BUTTON) {
-			public void run() {
-				SideWinderItemViewPresentation.this.style = SWT.RIGHT;
-				setChecked((SideWinderItemViewPresentation.this.style & SWT.RIGHT) != 0);
-				update();
-			}			
-		};
-		rightAction.setChecked((style & SWT.RIGHT) != 0);
-		systemMenuManager.add(rightAction);	
-		
-		Action leftAction = new Action("Left", IAction.AS_RADIO_BUTTON) {
-			public void run() {
-				SideWinderItemViewPresentation.this.style = SWT.LEFT;
-				setChecked((SideWinderItemViewPresentation.this.style & SWT.LEFT) != 0);
-				update();
-			}			
-		};		
-		leftAction.setChecked((style & SWT.VERTICAL) != 0);	
-		systemMenuManager.add(leftAction);	
-		
-		systemMenuManager.add(new Separator());
-		Action textAction = new Action("Text", IAction.AS_CHECK_BOX) {
-			public void run() {
-				SideWinderItemViewPresentation.this.showText = isChecked();
-				setChecked(SideWinderItemViewPresentation.this.showText);
-				update();
-			}
-		};
-		textAction.setChecked(showText);
-		systemMenuManager.add(textAction);	
-		Action imageAction = new Action("Image", IAction.AS_CHECK_BOX) {
-			public void run() {
-				SideWinderItemViewPresentation.this.showImage = isChecked();
-				setChecked(isChecked());
-				update();
-			}
-		};
-		imageAction.setChecked(showImage);
-		systemMenuManager.add(imageAction);	
-	}
-	
-	protected void update() {
-		Control[] items = titleArea.getChildren();	
-		for (int idx = 0; idx < items.length; idx++) {
-			if(items[idx] instanceof PartItem) {
-			PartItem item = (PartItem)items[idx];	
-			item.setShowImage(showImage);
-			item.setShowText(showText);
-			item.setFocus(activeFocus);
-			}
-		}
-		int type = SWT.VERTICAL;
-		if ((style & SWT.TOP) != 0 || (style & SWT.BOTTOM) != 0) {
-			type = SWT.HORIZONTAL;
-		}		
-		RowLayout rowLayout = ((RowLayout)titleArea.getLayout());
-		rowLayout.type = type;
-		rowLayout.fill = type == SWT.VERTICAL;
-		
-		layout();
-		presentationControl.redraw();
-		//titleArea.redraw();
-		//titleArea.layout();
-		//contentArea.layout();
-	}
-
-	public void close(IPresentablePart[] parts) {
-		getSite().close(parts);
-	}
-	
-	public void layout() {
-		// Determine the inner bounds of the presentation
-		Rectangle presentationClientArea = presentationControl.getClientArea();
-		presentationClientArea.x += getBorderWidth();
-		presentationClientArea.width -= getBorderWidth() * 2;
-		presentationClientArea.y += getBorderWidth();
-		presentationClientArea.height -= getBorderWidth() * 2;
-		
-		if ((style & SWT.TOP) != 0 || (style & SWT.BOTTOM) != 0) {
-			Point p = titleArea.computeSize(presentationClientArea.width, SWT.DEFAULT);
-			int yy = 0;
-			int x = 0;
-			int y = 0;
-			if((style & SWT.TOP) != 0) {
-				x = presentationClientArea.x;
-				y = presentationClientArea.y;
-				yy = p.y + 1;
-			} else {
-				x = presentationClientArea.x;
-				y = presentationClientArea.height - p.y;
-				yy = presentationClientArea.y;
-			}
-			if(titleAreaHiden)
-				p.y = 3;
-			titleArea.setBounds(x, y, presentationClientArea.width, p.y);
-			contentArea.setBounds(presentationClientArea.x, yy, presentationClientArea.width, presentationClientArea.height - p.y);
-		} else {
-			Point p = titleArea.computeSize(SWT.DEFAULT, presentationClientArea.height);
-			int xx = 0;
-			int x = 0;
-			int y = 0;
-			if((style & SWT.RIGHT) != 0) {
-				x = presentationClientArea.width - p.x;
-				y = presentationClientArea.y;
-				xx = presentationClientArea.x;
-			} else {
-				x = presentationClientArea.x;
-				y = presentationClientArea.y;
-				xx = p.x +1;
-			}	
-			if(titleAreaHiden)
-				p.x = 3;
-			titleArea.setBounds(x, y, p.x, presentationClientArea.height);
-			contentArea.setBounds(xx, presentationClientArea.y, presentationClientArea.width - p.x, presentationClientArea.height);
-		}
-				
-		//Rectangle r = titleArea.getBounds();
-		//Point p = titleArea.computeSize(SWT.DEFAULT, r.height);
-		//statusLineArea.setBounds(r);
-		
-		titleArea.setBackground(titleArea.getDisplay().getSystemColor(SWT.COLOR_GRAY));
-				
-		// Position the view's widgets
-		if (current != null) {
-			Control toolbar = current.getToolBar();
-			if(toolbar != null) {
-				toolbarProxy.setTargetControl(current.getToolBar());
-				contentArea.setTopCenter(toolbarProxy.getControl());
-			} else { 
-				contentArea.setTopCenter(null);
-			}
-			contentArea.layout();
-			
-			Rectangle clientRectangle = clientArea.getBounds();
-			Point clientAreaStart = presentationControl.getParent().toControl(
-					contentArea.toDisplay(clientRectangle.x, clientRectangle.y));
-			// current isn't parented by this widget hierarchy, the coordinates must be
-			// relative to the workbench window. The workbench window parents every
-			// part.
-			current.setBounds(new Rectangle(clientAreaStart.x, 
-					clientAreaStart.y,
-					clientRectangle.width, 
-					clientRectangle.height));
-		}		
-	}
-	
-	public void setBounds(Rectangle bounds) {
-		presentationControl.setBounds(bounds);
-		layout();
-	}
-
-	public void dispose() {
-	}
-
-	public void setActive(int newState) {
-		activeFocus = (newState == AS_ACTIVE_FOCUS);
-		Control[] items = titleArea.getChildren();	
-		for (int idx = 0; idx < items.length; idx++) {
-			if(items[idx] instanceof PartItem) {
-			PartItem item = (PartItem)items[idx];	
-			item.setFocus(activeFocus);
-			}
-		}
-		presentationControl.redraw();
-	}
-
-	public void setVisible(boolean isVisible) {
-		presentationControl.setVisible(isVisible);
-		
-		// Make the currently visible part visible
-		if (current != null) {
-			current.setVisible(isVisible);			
-		}
-
-		if (isVisible) {
-			// Restore the bounds of the currently visible part. 
-			// IPartPresentations can be used by multiple StackPresentations,
-			// although only one such presentation is ever visible at a time.
-			// It is possible that some other presentation has changed the
-			// bounds of the part since it was last visible, so we need to
-			// update the part's bounds when the presentation becomes visible.
-			layout();
-		}
-	}
-
-	public void setState(int state) {
-	}
-
-	public Control getControl() {
-		return presentationControl;
-	}
-
-	public void addPart(IPresentablePart newPart, Object cookie) {
-		// Ignore the cookie for now, since we don't support drag-and-drop yet.
-		PartItem item = new PartItem(titleArea, newPart);
-		
-		// Attach the newPart pointer to the ToolItem. This is used for getPartForTab
-		// to determine which part is associated with the tool item
-		item.setData(PART_DATA, newPart);
-		
-		// Attach a property change listener to the part. This will update the ToolItem
-		// to reflect changes in the part.
-		newPart.addPropertyListener(childPropertyChangeListener);
-		
-		// Attach a dispose listener to the item. This removes the above property
-		// change listener from the part when the item is destroyed. This prevents
-		// memory leaks.
-		item.addDisposeListener(tabDisposeListener);
-		
-		// Listen to selection events in the new tool item
-		item.addMouseListener(mouseListener);
-		
-		PresentationUtil.addDragListener(item, new Listener() {
-			public void handleEvent(Event event) {
-				Point loc = new Point(event.x, event.y);
-				PartItem item = (PartItem)event.widget;
-				if (item != null) {
-				   // Move the current part
-				   IPresentablePart draggedItem = getPartForTab(item);
-				   draggedItem.setFocus();
-				getSite().dragStart(draggedItem, item.toDisplay(loc), false);
-				}
-			}
-		});
-
-		// Initialize the tab for this part
-		updatePartItem(item, newPart);
-			
-		newPart.setBounds(clientArea.getBounds());
-		titleArea.layout();
-		titleArea.redraw();
-		update();		
-	}
-	
-	protected void updatePartItem(PartItem item, IPresentablePart part) {
-		String tabName = part.getTitle();
-		if(item == null) return;
-		if (!tabName.equals(item.getText())) {
-			item.setText(tabName);
-		}
-		
-		if (!(part.getTitleToolTip().equals(item.getToolTipText()))) {
-			item.setToolTipText(part.getTitleToolTip());
-		}
-
-		item.setImage(part.getTitleImage());
-		item.setShowImage(showImage);
-		item.setShowText(showText);
-		titleArea.layout(true);
-		titleArea.redraw();
-		item.redraw();
-	}
-	
-	protected final PartItem getPartItem(IPresentablePart part) {
-		if (!titleArea.isDisposed()) {
-			Control[] items = titleArea.getChildren();
-			for (int idx = 0; idx < items.length; idx++) {
-				Control item = items[idx];
-				if (!item.isDisposed() && getPartForTab(item) == part) {
-					return (PartItem) item;
-				}
-			}
-		}
-		return null;
-	}
-	
-	protected final IPresentablePart getPartForTab(Control item) {
-		return (IPresentablePart)item.getData(PART_DATA);
-	}
-
-	public void removePart(IPresentablePart oldPart) {
-		PartItem item = getPartItem(oldPart);
-		if(item != null) {
-			item.dispose();
-			titleArea.layout();
-			titleArea.redraw();
-		}
-	}
-
-	public void selectPart(IPresentablePart toSelect) {
-		if (toSelect == current) {
-			return;
-		}
-		
-		if(current !=null) {
-			current.setVisible(false);
-		}
-		
-		// Select the new part
-		current = toSelect;
-		
-		// Ordering is important here. We need to make the part
-		// visible before updating its bounds, or the call to setBounds
-		// may be ignored.
-		
-		if (current != null) {
-			// Make the newly selected part visible
-			current.setVisible(true);
-			Control[] items = titleArea.getChildren();
-			for (int idx = 0; idx < items.length; idx++) {
-				if(items[idx] instanceof PartItem) {
-				PartItem item = (PartItem)items[idx];
-				item.setSelected(getPartForTab(item) == current);
-				}
-			}
-		}
-		// Update the bounds of the newly selected part
-		layout();
-	}
-
-	public StackDropResult dragOver(Control currentControl, Point location) {
-		return null;
-	}
-
-	public void showSystemMenu() {
-	}
-
-	public void showPaneMenu() {
-		
-	}
-	
-	public void showPaneMenu(Point location) {
-		if (current == null) {
-			return;
-		}
-		
-		IPartMenu menu = current.getMenu();
-		
-		if (menu == null) {
-			return;
-		}
-
-		menu.showMenu(location);
-	}
-
-	public Control[] getTabList(IPresentablePart part) {
-		if(current != null) {
-			return new Control[] {current.getControl()};
-		} else {
-			return new Control[0];
-		}
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/SideWinderPresentationFactory.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/SideWinderPresentationFactory.java
deleted file mode 100644
index c4ad6fd..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/sidewinder/SideWinderPresentationFactory.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.examples.presentation.sidewinder;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.presentations.*;
-
-/**
- * @since 3.0
- */
-public class SideWinderPresentationFactory extends AbstractPresentationFactory {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.AbstractPresentationFactory#createEditorPresentation(org.eclipse.swt.widgets.Composite, org.eclipse.ui.presentations.IStackPresentationSite)
-	 */
-	public StackPresentation createEditorPresentation(Composite parent,
-			IStackPresentationSite site) {
-		return new SideWinderItemViewPresentation(parent, site, true, true, SWT.HORIZONTAL | SWT.TOP);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.AbstractPresentationFactory#createViewPresentation(org.eclipse.swt.widgets.Composite, org.eclipse.ui.presentations.IStackPresentationSite)
-	 */
-	public StackPresentation createViewPresentation(Composite parent,
-			IStackPresentationSite site) {
-		return new SideWinderItemViewPresentation(parent, site,  false, true, SWT.HORIZONTAL | SWT.TOP);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.AbstractPresentationFactory#createStandaloneViewPresentation(org.eclipse.swt.widgets.Composite, org.eclipse.ui.presentations.IStackPresentationSite, boolean)
-	 */
-	public StackPresentation createStandaloneViewPresentation(Composite parent,
-			IStackPresentationSite site, boolean showTitle) {
-		return new SideWinderItemViewPresentation(parent, site, false, true, SWT.HORIZONTAL | SWT.TOP);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ChangeStackStateContributionItem.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ChangeStackStateContributionItem.java
deleted file mode 100644
index 7a9310b..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ChangeStackStateContributionItem.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.wrappedtabs;
-
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-
-/**
- * Contributions for supporting maximizing, minimizing, and restoring the state of
- * a stack presentation.
- * 
- * @since 3.0
- */
-public class ChangeStackStateContributionItem extends ContributionItem {
-
-	private IStackPresentationSite site;
-	
-	public ChangeStackStateContributionItem(IStackPresentationSite site) {
-		this.site = site;
-	}
-
-    public void dispose() {
-    	super.dispose();
-    }
-    
-    public void fill(Menu menu, int index) {
-		if(site.supportsState(IStackPresentationSite.STATE_MAXIMIZED) && site.getState() != IStackPresentationSite.STATE_MAXIMIZED) {
-			MenuItem item1 = new MenuItem(menu, SWT.PUSH, index);
-			item1.setText("&Maximize");
-			item1.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					site.setState(IStackPresentationSite.STATE_MAXIMIZED);
-				}
-			});
-		}
-		if(site.getState() != IStackPresentationSite.STATE_RESTORED)  {
-			MenuItem item = new MenuItem(menu, SWT.PUSH, index);
-			item.setText("&Restore");
-			item.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					site.setState(IStackPresentationSite.STATE_RESTORED);
-				}
-			});
-		}		
-    }
-    
-	public boolean isDynamic() {
-		return true;
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseAllContributionItem.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseAllContributionItem.java
deleted file mode 100644
index bdbf993..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseAllContributionItem.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.wrappedtabs;
-
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-
-/**
- * @since 3.0
- */
-public class CloseAllContributionItem extends ContributionItem {
-	private WrappedTabsPartPresentation presentation; 
-	
-	private SelectionAdapter selectionListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			presentation.close(presentation.getParts());
-		}
-	};
-	
-	public CloseAllContributionItem(WrappedTabsPartPresentation presentation) {
-		this.presentation = presentation;
-	}
-
-    public void dispose() {
-    	super.dispose();
-        presentation = null;
-        selectionListener = null;
-    }
-    
-    public void fill(Menu menu, int index) {
-    	if (presentation.getParts().length > 1) {
-			MenuItem item = new MenuItem(menu, SWT.NONE, index);
-			item.setText("Close all");
-			item.addSelectionListener(selectionListener);
-    	}
-    }
-    
-    public boolean isDynamic() {
-    	// Returning true here ensures that the fill(...) method will be called whenever
-    	// the context menu opens
-        return true;
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseContributionItem.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseContributionItem.java
deleted file mode 100644
index 00fa19a..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseContributionItem.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.wrappedtabs;
-
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.presentations.IPresentablePart;
-
-/**
- * @since 3.0
- */
-public class CloseContributionItem extends ContributionItem {
-	private WrappedTabsPartPresentation presentation; 
-	
-	private SelectionAdapter selectionListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			presentation.close(new IPresentablePart[] {presentation.getCurrent()});
-		}
-	};
-	
-	public CloseContributionItem(WrappedTabsPartPresentation presentation) {
-		this.presentation = presentation;
-	}
-
-    public void dispose() {
-    	super.dispose();
-        presentation = null;
-        selectionListener = null;
-    }
-    
-    public void fill(Menu menu, int index) {
-		MenuItem item = new MenuItem(menu, SWT.NONE, index);
-		item.setText("Close");
-		item.addSelectionListener(selectionListener);
-		
-		IPresentablePart current = presentation.getCurrent();
-		item.setEnabled(current != null);
-    }
-    
-    public boolean isDynamic() {
-        return true;
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseOthersContributionItem.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseOthersContributionItem.java
deleted file mode 100644
index 3be37ea..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/CloseOthersContributionItem.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.wrappedtabs;
-
-import java.util.Arrays;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.presentations.IPresentablePart;
-
-/**
- * @since 3.0
- */
-public class CloseOthersContributionItem extends ContributionItem {
-	private WrappedTabsPartPresentation presentation; 
-	
-	private SelectionAdapter selectionListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			IPresentablePart current = presentation.getCurrent();
-			List parts = Arrays.asList(presentation.getParts());
-			List otherParts = new LinkedList();
-			otherParts.addAll(parts);
-			otherParts.remove(current);
-			presentation.close((IPresentablePart[]) otherParts.toArray(new IPresentablePart[otherParts.size()]));
-		}
-	};
-	
-	public CloseOthersContributionItem(WrappedTabsPartPresentation presentation) {
-		this.presentation = presentation;
-	}
-
-    public void dispose() {
-    	super.dispose();
-        presentation = null;
-        selectionListener = null;
-    }
-    
-    public void fill(Menu menu, int index) {
-    	if (presentation.getParts().length > 1) {
-			MenuItem item = new MenuItem(menu, SWT.NONE, index);
-			item.setText("Close others");
-			item.addSelectionListener(selectionListener);
-			
-			IPresentablePart current = presentation.getCurrent();
-			item.setEnabled(current != null);
-    	}
-    }
-    
-    public boolean isDynamic() {
-        return true;
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/PartListContributionItem.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/PartListContributionItem.java
deleted file mode 100644
index 52ae5c5..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/PartListContributionItem.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.wrappedtabs;
-
-import java.util.Arrays;
-import java.util.Comparator;
-
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.presentations.IPresentablePart;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-
-/**
- * @since 3.0
- */
-public class PartListContributionItem extends ContributionItem {
-	private WrappedTabsPartPresentation presentation;
-	private IStackPresentationSite site;
-	
-	private static final String DATA_ITEM = "org.eclipse.ui.examples.presentation.wrappedtabs.PartListContributionItem.DATA_ITEM"; 
-	
-	private SelectionAdapter selectionListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			MenuItem item = (MenuItem)e.widget;
-			
-			IPresentablePart part = (IPresentablePart)item.getData(DATA_ITEM);
-			
-			if (part != null) {
-				site.selectPart(part);
-			}
-		}
-	};
-	
-	public PartListContributionItem(WrappedTabsPartPresentation presentation, IStackPresentationSite site) {
-		this.presentation = presentation;
-		this.site = site;
-	}
-
-    public void dispose() {
-    	super.dispose();
-        presentation = null;
-        site = null;
-        selectionListener = null;
-    }
-    
-    public void fill(Menu menu, int index) {
-    	IPresentablePart[] parts = presentation.getParts();
-    	
-    	// Don't include a part list if there's only one part
-    	if (parts.length <= 1) {
-    		return;
-    	}
-    	
-    	new MenuItem(menu, SWT.SEPARATOR, index++);
-    	
-    	Arrays.sort(parts, new Comparator() {
-			public int compare(Object arg0, Object arg1) {
-				IPresentablePart part0 = (IPresentablePart)arg0;
-				IPresentablePart part1 = (IPresentablePart)arg1;
-				
-				return part0.getName().compareToIgnoreCase(part1.getName());
-			}
-    	});
-    	
-    	for (int i = 0; i < parts.length; i++) {
-			IPresentablePart part = parts[i];
-			
-			MenuItem item = new MenuItem(menu, SWT.NONE, index++);
-			item.setText(part.getName());
-			item.setImage(part.getTitleImage());
-			item.addSelectionListener(selectionListener);
-			item.setData(DATA_ITEM, part);
-		}
-    }
-    
-    public boolean isDynamic() {
-        return true;
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ProxyControl.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ProxyControl.java
deleted file mode 100644
index b9fbf3f..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ProxyControl.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.wrappedtabs;
-
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.internal.dnd.DragUtil;
-import org.eclipse.ui.internal.dnd.SwtUtil;
-
-/**
- * A ProxyControl is an invisible control whose size and position are linked
- * with some target control. That is, when the dummy control is asked for its
- * preferred size it returns the preferred size of the target. Changing the
- * bounds of the dummy control also changes the bounds of the target. This allows 
- * any Composite to lay out a control that isn't one of its children.
- * 
- * <p>
- * For example, imagine you have a ViewForm and a ToolBar that share the same parent
- * and you want the ToolBar to be located in the upper-right corner of the ViewForm.
- * If the ToolBar were a child of the ViewForm, this could be done easily by calling
- * viewForm.setTopRight(toolBar). However, this is impossible since ViewForm.setTopRight
- * will only accept a child control. Instead, we create a ProxyControl as a child
- * of the viewForm, and set the toolbar as its target. The ViewForm will treat
- * the ProxyControl just like any other child, but it will actually be arranging the
- * ToolBar. 
- * </p>
- * <p>For example:
- * </p>
- * <code>
- *      // Create a ViewForm and a ToolBar that are siblings
- * 		ViewForm viewForm = new ViewForm(parent, SWT.NONE);
- * 		ToolBar toolBar = new ToolBar(parent, SWT.NONE);
- * 
- *      // Allow the ViewForm to control the position of the ToolBar by creating
- *      // a ProxyControl in the ViewForm that targets the ToolBar.
- * 		ProxyControl toolBarProxy = new ProxyControl(viewForm);
- * 		toolBarProxy.setTarget(toolBar);
- * 		viewForm.setTopRight(toolBarProxy.getControl());
- * </code>
- * 
- * <p>
- * This is intended to simplify management of view toolbars in the presentation API.
- * Presentation objects have no control over where the view toolbars are created in
- * the widget hierarchy, but they may wish to control the position of the view toolbars
- * using traditional SWT layouts and composites. 
- * </p>
- */
-public class ProxyControl {
-    
-    /**
-     * Invisible dummy control 
-     */
-	private Composite control;
-	
-	/**
-	 * Target control (possibly null)
-	 */
-	private Control target;
-	
-	/**
-	 * Most specific common ancestor between the target and the proxy controls
-	 */
-	private Control commonAncestor;
-	
-	/**
-	 * Visibility state of the proxy control the last time it had a non-null target.
-	 * Note: when the target is set to null, we force the proxy to become invisible
-	 * and use this variable to remember the initial state when we get a new non-null
-	 * target.
-	 */
-	private boolean visible = true;
-	
-	/**
-	 * Dispose listener. Breaks the link between the target and the proxy if either
-	 * control is disposed.
-	 */
-	private DisposeListener disposeListener = new DisposeListener() {
-		public void widgetDisposed(DisposeEvent e) {
-			if (e.widget == target || e.widget == control) {
-				setTargetControl(null);
-			}
-		}
-	};
-	
-	private Listener visibilityListener = new Listener() {
-
-        public void handleEvent(Event event) {
-            if (target != null) {
-                visible = control.getVisible();
-                target.setVisible(visible);
-            }
-        }
-	    
-	};
-	
-	/**
-	 * Movement listener. Updates the bounds of the target to match the 
-	 * bounds of the dummy control.
-	 */
-	private ControlListener controlListener = new ControlListener() {
-
-		public void controlMoved(ControlEvent e) {
-			ProxyControl.this.layout();
-		}
-
-		public void controlResized(ControlEvent e) {
-		    //if (e.widget == control) {
-		     //   ProxyControl.this.layout();
-		    //}
-		}
-		
-	};
-	
-	/**
-	 * Creates a new ProxyControl as a child of the given parent. This is an invisible dummy
-	 * control. If given a target, the ProxyControl will update the bounds of the target to
-	 * match the bounds of the dummy control.
-	 * 
-	 * @param parent parent composite
-	 */
-	public ProxyControl(Composite parent) {
-	    // Create the invisible dummy composite
-		control = new Composite(parent, SWT.NO_BACKGROUND);
-		control.setVisible(false);
-		
-		// Attach a layout to the dummy composite. This is used to make the preferred
-		// size of the dummy match the preferred size of the target.
-		control.setLayout(new Layout() {
-			protected void layout (Composite composite, boolean flushCache) {
-			    ProxyControl.this.layout();
-			    // does nothing. The bounds of the target are updated by the controlListener
-			}
-			
-			protected Point computeSize (Composite composite, int wHint, int hHint, boolean flushCache) {
-				if (target == null) {
-				    // Note: If we returned (0,0), SWT would ignore the result and use a default value.
-					return new Point(1,1);
-				}
-				
-				return target.computeSize(wHint, hHint);
-			}
-		});
-		
-		// Attach listeners to the dummy
-		control.addDisposeListener(disposeListener);
-		control.addListener(SWT.Show, visibilityListener);
-		control.addListener(SWT.Hide, visibilityListener);
-	}
-	
-	/**
-	 * Sets the control whose position will be managed by this proxy
-	 * 
-	 * @param target the control, or null if none
-	 */
-	public void setTargetControl(Control target) {
-		if (this.target != target) {
-
-		    if (this.target != null) {
-		        for (Control next = control; next != commonAncestor && next != null; next = next.getParent()) {
-		            next.removeControlListener(controlListener);
-		        }
-		        commonAncestor = null;
-		        
-			    // If we already had a target, detach the dispose listener 
-			    // (prevents memory leaks due to listeners)
-				if (!this.target.isDisposed()) {
-					this.target.removeDisposeListener(disposeListener);
-				}				
-		    }
-			
-			if (this.target == null && target != null) {
-			    // If we had previously forced the dummy control invisible, restore its visibility
-			    control.setVisible(visible);
-			}
-			
-			this.target = target;
-			
-			if (target != null) {
-			    commonAncestor = SwtUtil.findCommonAncestor(this.target, control);
-		        for (Control next = control; next != null && next != commonAncestor; next = next.getParent()) {
-		            next.addControlListener(controlListener);
-		        }
-			    
-			    // Make the new target's visiblity match the visibility of the dummy control
-			    target.setVisible(control.getVisible());
-				// Add a dispose listener. Ensures that the target is cleared
-				// if it is ever disposed.
-				target.addDisposeListener(disposeListener);
-			} else {
-			    control.setVisible(false);
-			}
-		}
-	}
-	
-	/**
-	 * Returns the target control (the control whose size is being managed)
-	 * 
-	 * @return the target control (or null)
-	 */
-	public Control getTargetControl() {
-		if (target == null) {
-			return null;
-		}
-		
-		return target;
-	}
-	
-	/**
-	 * Returns the proxy control
-	 * 
-	 * @return the proxy control (not null)
-	 */
-	public Control getControl() {
-		return control;
-	}
-	
-	public Control getTarget() {
-	    return target;
-	}
-	
-	/**
-	 * Moves the target control on top of the dummy control.
-	 */
-	public void layout() {
-		if (getTargetControl() == null) {
-			return;
-		}
-		
-		// Compute the unclipped bounds of the target in display coordinates
-		Rectangle displayBounds = Geometry.toDisplay(control.getParent(), control.getBounds());
-		
-		// Clip the bounds of the target so that it doesn't go outside the dummy control's parent
-		Rectangle clippingRegion = DragUtil.getDisplayBounds(control.getParent());
-		displayBounds = displayBounds.intersection(clippingRegion);
-		
-		// Compute the bounds of the target, in the local coordinate system of its parent
-		Rectangle targetBounds = Geometry.toControl(getTargetControl().getParent(), displayBounds);
-		
-		// Move the target
-		getTargetControl().setBounds(targetBounds);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ShowToolbarContributionItem.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ShowToolbarContributionItem.java
deleted file mode 100644
index 299de04..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/ShowToolbarContributionItem.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.wrappedtabs;
-
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.presentations.IPresentablePart;
-
-/**
- * @since 3.0
- */
-public class ShowToolbarContributionItem extends ContributionItem {
-	private WrappedTabsPartPresentation presentation;
-	
-	private static final String DATA_ITEM = "org.eclipse.ui.examples.presentation.wrappedtabs.PartListContributionItem.DATA_ITEM"; 
-	
-	private SelectionAdapter selectionListener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			presentation.showToolbar(((MenuItem)e.widget).getSelection());
-		}
-	};
-	
-	public ShowToolbarContributionItem(WrappedTabsPartPresentation presentation) {
-		this.presentation = presentation;
-	}
-
-    public void dispose() {
-    	super.dispose();
-        presentation = null;
-        selectionListener = null;
-    }
-    
-    public void fill(Menu menu, int index) {
-		MenuItem item = new MenuItem(menu, SWT.CHECK, index);
-		item.setText("S&how toolbar");
-		item.addSelectionListener(selectionListener);
-		item.setSelection(presentation.isShowingToolbar());
-		
-		IPresentablePart current = presentation.getCurrent();
-		item.setEnabled(current != null && current.getToolBar() != null);
-    }
-    
-    public boolean isDynamic() {
-        return true;
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsPartPresentation.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsPartPresentation.java
deleted file mode 100644
index 0790f20..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsPartPresentation.java
+++ /dev/null
@@ -1,1116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.wrappedtabs;
-
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-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.custom.ViewForm;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-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.ui.IMemento;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.examples.presentation.PresentationImages;
-import org.eclipse.ui.presentations.IPartMenu;
-import org.eclipse.ui.presentations.IPresentablePart;
-import org.eclipse.ui.presentations.IPresentationSerializer;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.PresentationUtil;
-import org.eclipse.ui.presentations.StackDropResult;
-import org.eclipse.ui.presentations.StackPresentation;
-import org.eclipse.ui.themes.ITheme;
-
-/**
- * @since 3.0
- */
-public class WrappedTabsPartPresentation extends StackPresentation {
-
-	private static class DropLocation {
-		int insertionPosition = 0;
-		IPresentablePart part;
-		boolean before;
-	}
-	
-	private static final String PART_DATA = "part";
-	
-	private boolean activeFocus = false;
-	
-	/**
-	 * Main widget for the presentation
-	 */
-	private Composite presentationControl;
-	
-	/**
-	 * Currently selected part
-	 */
-	private IPresentablePart current;
-	
-	/**
-	 * ToolBar that will be used to select the active presentable part 
-	 */
-	private ToolBar toolBar;
-	
-	/**
-	 * ToolBar that will contain close, minimize, etc.
-	 */
-	private ToolBar upperRight;
-	
-	/**
-	 * close button
-	 */
-	private ToolItem close;
-	
-	/**
-	 * View menu button
-	 */
-	private ToolItem viewMenu;
-	
-	/**
-	 * Minimize button
-	 */
-	private ToolItem minView;
-
-	/**
-	 * Show/hide toolbar button
-	 */
-	private ToolItem showToolbar;
-	
-	private ToolBar titleIconToolbar;
-	
-	/**
-	 * Title icon
-	 */
-	private ToolItem titleIcon;
-	
-	private MenuManager systemMenuManager = new MenuManager();
-	private ViewForm contentArea;
-	
-	private Label contentDescription;
-	private Composite contentDescriptionWrapper;
-	
-	private Composite clientArea;
-	
-	private ProxyControl toolbarProxy;
-	
-	/**
-	 * Listener attached to all child parts. It responds to changes in part properties
-	 */
-	private IPropertyListener childPropertyChangeListener = new IPropertyListener() {
-		public void propertyChanged(Object source, int property) {
-			
-			if (source instanceof IPresentablePart) {
-				IPresentablePart part = (IPresentablePart) source;
-				
-				childPropertyChanged(part, property);
-			}
-		}	
-	};
-
-	/** 
-	 * Drag listener for regions outside the toolbar
-	 */
-	Listener dragListener = new Listener() {
-		public void handleEvent(Event event) {
-			Point loc = new Point(event.x, event.y);
-			Control ctrl = (Control)event.widget;
-			
-			getSite().dragStart(ctrl.toDisplay(loc), false);
-		}
-	};
-	
-	/**
-	 * Listener attached to all tool items. It removes listeners from the associated
-	 * part when the tool item is destroyed. This is required to prevent memory leaks.
-	 */
-	private DisposeListener tabDisposeListener = new DisposeListener() {
-		public void widgetDisposed(DisposeEvent e) {
-			if (e.widget instanceof ToolItem) {
-				ToolItem item = (ToolItem)e.widget;
-				
-				IPresentablePart part = getPartForTab(item);
-				
-				part.removePropertyListener(childPropertyChangeListener);
-			}
-		}
-	};
-	
-	/**
-	 * This listener responds to selection events in all tool items.
-	 */
-	SelectionAdapter tabItemSelectionAdapter = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			ToolItem toolItem = (ToolItem) e.widget;
-			IPresentablePart item = getPartForTab(toolItem);
-			if (item != null) {
-				// Clicking on the active tab should give focus to the current part
-				if (item == current) {
-					item.setFocus();
-				}
-				getSite().selectPart(item);
-			}
-			toolItem.setSelection(true);
-		}
-	};
-	
-	/**
-	 * Listener to changes made to the current theme. The presentation will
-	 * redraw when the theme changes.
-	 */
-	private IPropertyChangeListener themeChangeListener = new IPropertyChangeListener() {	
-		public void propertyChange(PropertyChangeEvent event) {
-			if(! presentationControl.isDisposed()) {
-				toolBar.setFont(PlatformUI.getWorkbench().getThemeManager().getCurrentTheme().getFontRegistry().get(WrappedTabsThemeConstants.TAB_FONT));
-				layout();
-				presentationControl.redraw();
-			}
-		}
-	};
-	
-	private Listener menuListener = new Listener() {
-		/* (non-Javadoc)
-		 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-		 */
-		public void handleEvent(Event event) {
-			Point globalPos = new Point(event.x, event.y);
-			
-			if (event.widget == toolBar) {
-				Point localPos = toolBar.toControl(globalPos);
-				ToolItem item = toolBar.getItem(localPos);
-					
-				if (item != null) {
-					IPresentablePart part = getPartForTab(item);
-					getSite().selectPart(part);
-					showSystemMenu(globalPos);
-					return;
-				}
-			}
-            
-            IPresentablePart part = getCurrent();
-            if (part != null) {
-                showSystemMenu(globalPos);
-            }
-		}
-	};
-	
-	private MouseListener mouseListener = new MouseAdapter() {
-		
-		// If we single-click on an empty space on the toolbar, move focus to the
-		// active control
-		public void mouseDown(MouseEvent e) {
-			Point p = new Point(e.x, e.y);
-			
-			// Ignore double-clicks if we're currently over a toolbar item
-			if (isOverToolItem(e)) {
-				return;
-			}
-			
-			if (current != null) {
-				current.setFocus();
-			}
-		}
-		
-		public boolean isOverToolItem(MouseEvent e) {
-			Point p = new Point(e.x, e.y);
-			Control control = (Control)e.widget;
-			
-			if (control instanceof ToolBar) {
-				ToolItem item = ((ToolBar)control).getItem(p);
-				
-				if (item != null) {
-					return true;
-				}
-			} 
-			
-			return false;
-			
-		}
-		
-		// If we double-click on the toolbar, maximize the presentation
-		public void mouseDoubleClick(MouseEvent e) {
-			
-			// Ignore double-clicks if we're currently over a toolbar item
-			if (isOverToolItem(e) && e.widget == upperRight) {
-				return;
-			}
-			
-			if (getSite().getState() == IStackPresentationSite.STATE_MAXIMIZED) {
-				getSite().setState(IStackPresentationSite.STATE_RESTORED);
-			} else {
-				getSite().setState(IStackPresentationSite.STATE_MAXIMIZED);
-			}
-		}
-	};
-	
-	private boolean showIconOnTabs;
-	private static final int SPACING_WIDTH = 2;
-
-	private static final String SHOWING_TOOLBAR = "showing_toolbar";
-
-	private static final String TAG_PART = "part";
-	private static final String TAG_ID = "id";
-	private static final String TAG_TOOLBAR = "showing_toolbar";
-	
-	/**
-	 * Creates a new bare-bones part presentation, given the parent composite and 
-	 * an IStackPresentationSite interface that will be used to communicate with 
-	 * the workbench.
-	 * 
-	 * @param stackSite interface to the workbench
-	 */
-	public WrappedTabsPartPresentation(Composite parent, 
-			IStackPresentationSite stackSite, boolean showIconOnTabs) {
-		super(stackSite);		
-		
-		this.showIconOnTabs = showIconOnTabs;
-		
-		// Create a top-level control for the presentation.
-		presentationControl = new Composite(parent, SWT.NONE);
-		
-		// Add a dispose listener. This will call the presentationDisposed()
-		// method when the widget is destroyed.
-		presentationControl.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				presentationDisposed();
-			}
-		});
-		
-		upperRight = new ToolBar(presentationControl, SWT.RIGHT | SWT.FLAT);
-		//initPresentationWidget(upperRight);
-		
-		titleIconToolbar = new ToolBar(presentationControl, SWT.RIGHT | SWT.FLAT);
-		titleIcon = new ToolItem(titleIconToolbar, SWT.PUSH);
-        
-        titleIconToolbar.addListener(SWT.MouseDown, new Listener() {
-            public void handleEvent(Event event) {
-                showPaneMenu();
-            }
-        });
-		titleIconToolbar.addListener(SWT.MenuDetect, menuListener);
-		
-		titleIconToolbar.setVisible(!showIconOnTabs);
-		
-		toolBar = new ToolBar(presentationControl, SWT.WRAP | SWT.RIGHT | SWT.FLAT);
-		toolBar.addListener(SWT.MenuDetect, menuListener);
-		toolBar.addMouseListener(mouseListener);
-		toolBar.setFont(PlatformUI.getWorkbench().getThemeManager().getCurrentTheme().getFontRegistry().get(WrappedTabsThemeConstants.TAB_FONT));
-		
-		// Add drag listener to the toolbar
-		PresentationUtil.addDragListener(toolBar, new Listener() {
-			public void handleEvent(Event event) {
-				Point loc = new Point(event.x, event.y);
-				ToolItem item = toolBar.getItem(loc);
-				
-				if (item != null) {
-					// Move the current part
-					IPresentablePart draggedItem = getPartForTab(item);
-					draggedItem.setFocus();
-					getSite().dragStart(draggedItem, toolBar.toDisplay(loc), false);
-				} else {
-					// Move the stack
-					getSite().dragStart(toolBar.toDisplay(loc), false);
-				}
-			}
-			
-		});
-		
-		presentationControl.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				Rectangle clientArea = presentationControl.getClientArea();			
-				e.gc.setLineWidth(getBorderWidth());
-				
-				e.gc.setForeground(getBorderColor());
-				e.gc.drawRectangle(clientArea.x, clientArea.y, clientArea.width-1, clientArea.height-1);
-				Rectangle contentAreaBounds = contentArea.getBounds();
-				int ypos = contentAreaBounds.y - 1;
-				e.gc.drawLine(clientArea.x, ypos, clientArea.x + clientArea.width - 1, ypos);
-			}
-			
-		});
-		initPresentationWidget(presentationControl);
-		
-		contentArea = new ViewForm(presentationControl, SWT.FLAT);
-		initPresentationWidget(contentArea);
-		contentDescriptionWrapper = new Composite(contentArea, SWT.NONE);
-		
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 4;
-		layout.marginHeight = 2;
-		contentDescriptionWrapper.setLayout(layout);
-		
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.verticalAlignment = GridData.VERTICAL_ALIGN_CENTER;
-		
-		contentDescription = new Label(contentDescriptionWrapper, SWT.NONE);
-		initPresentationWidget(contentDescription);
-		contentDescription.setLayoutData(data);
-
-		clientArea = new Composite(contentArea, SWT.NONE);
-		clientArea.setVisible(false);
-		
-		contentArea.setContent(clientArea);
-		toolbarProxy = new ProxyControl(contentArea);
-		
-		createButtonBar();
-		
-		createSystemMenu();
-		
-		PlatformUI.getWorkbench().getThemeManager().addPropertyChangeListener(themeChangeListener);
-	}
-	
-	private void initPresentationWidget(Control toInitialize) {
-		PresentationUtil.addDragListener(toInitialize, dragListener);
-		toInitialize.addListener(SWT.MenuDetect, menuListener);
-		toInitialize.addMouseListener(mouseListener);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.StackPresentation#restoreState(org.eclipse.ui.presentations.IPresentationSerializer, org.eclipse.ui.IMemento)
-	 */
-	public void restoreState(IPresentationSerializer serializer, IMemento savedState) {
-		IMemento[] parts = savedState.getChildren(TAG_PART);
-		
-		for (int idx = 0; idx < parts.length; idx++) {
-			String id = parts[idx].getString(TAG_ID);
-			
-			if (id != null) {
-				IPresentablePart part = serializer.getPart(id);
-				
-				if (part != null) {
-					addPart(part, null);
-					
-					Integer hasToolbar = parts[idx].getInteger(TAG_TOOLBAR);
-					showToolbar(part, hasToolbar != null && hasToolbar.intValue() != 0);
-				}
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.StackPresentation#saveState(org.eclipse.ui.presentations.IPresentationSerializer, org.eclipse.ui.IMemento)
-	 */
-	public void saveState(IPresentationSerializer context, IMemento memento) {
-		super.saveState(context, memento);
-		
-		IPresentablePart[] parts = getParts();
-		
-		for (int i = 0; i < parts.length; i++) {
-			IPresentablePart part = parts[i];
-
-			IMemento childMem = memento.createChild(TAG_PART);
-			childMem.putString(TAG_ID, context.getId(part));
-			childMem.putInteger(TAG_TOOLBAR, isShowingToolbar(part) ? 1 : 0);
-		}
-	}
-	
-	public IPresentablePart[] getParts() {
-		ToolItem[] items = toolBar.getItems();
-		IPresentablePart[] result = new IPresentablePart[items.length];
-		
-		for (int idx = 0; idx < items.length; idx++) {
-			ToolItem item = items[idx];
-			
-			IPresentablePart next = getPartForTab(item);
-			
-			result[idx] = next;
-		}
-		
-		return result;
-	}
-	
-	private final void createSystemMenu() {
-		getSite().addSystemActions(systemMenuManager);
-		systemMenuManager.add(new ChangeStackStateContributionItem(getSite()));
-		systemMenuManager.add(new ShowToolbarContributionItem(this));
-		// This example presentation includes the part list at the end of the system menu
-		systemMenuManager.add(new Separator());
-		systemMenuManager.add(new CloseContributionItem(this));
-		systemMenuManager.add(new CloseOthersContributionItem(this));
-		systemMenuManager.add(new CloseAllContributionItem(this));
-		systemMenuManager.add(new PartListContributionItem(this, getSite()));
-	}
-	
-	private void createButtonBar() {
-		viewMenu = new ToolItem(upperRight, SWT.PUSH);
-        upperRight.addListener(SWT.MouseDown, new Listener() {
-            public void handleEvent(Event event) {
-                Point p = new Point(event.x, event.y);
-                Rectangle r = viewMenu.getBounds();
-                
-                if (r.contains(p)) {
-                    showSystemMenu();
-                }
-            }
-        });
-		viewMenu.setImage(PresentationImages.getImage(PresentationImages.VIEW_MENU));
-	
-		showToolbar = new ToolItem(upperRight, SWT.PUSH);        
-        showToolbar.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                showToolbar(!isShowingToolbar());
-            }
-        });
-        	
-		if (getSite().supportsState(IStackPresentationSite.STATE_MINIMIZED)) {
-			minView = new ToolItem(upperRight, SWT.PUSH);
-			minView.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					if (current != null) {
-						if (getSite().getState() == IStackPresentationSite.STATE_MINIMIZED) {
-							getSite().setState(IStackPresentationSite.STATE_RESTORED);
-						} else {
-							getSite().setState(IStackPresentationSite.STATE_MINIMIZED);
-						}	
-					}
-				}				
-			});
-		}
-		
-		close = new ToolItem(upperRight, SWT.PUSH);
-		close.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (current != null) {
-					getSite().close(new IPresentablePart[] {current});
-				}
-			}
-			
-		});
-		close.setImage(PresentationImages.getImage(PresentationImages.CLOSE_VIEW));
-		
-		updateToolbarImages();
-	}
-	
-	private void updateToolbarImages() {
-		if (isShowingToolbar()) {
-			showToolbar.setImage(PresentationImages.getImage(PresentationImages.HIDE_TOOLBAR));
-		} else {
-			showToolbar.setImage(PresentationImages.getImage(PresentationImages.SHOW_TOOLBAR));
-		}
-
-		if (minView != null) {
-			String minImage = (getSite().getState() == IStackPresentationSite.STATE_MINIMIZED) ?
-					PresentationImages.RESTORE_VIEW : PresentationImages.MIN_VIEW;
-			minView.setImage(PresentationImages.getImage(minImage));
-		}
-		
-		upperRight.pack(true);
-		upperRight.redraw();
-	}
-	
-	public void refreshButtonBarEnablement() {
-		close.setEnabled(current != null && getSite().isCloseable(current));
-		titleIcon.setEnabled(current != null && current.getMenu() != null);
-		showToolbar.setEnabled(current != null && current.getToolBar() != null);
-	}
-
-	public void dispose() {
-		// Dispose the main presentation widget. This will cause 
-		// presentationDisposed to be called, which will do the real cleanup.
-		presentationControl.dispose();
-	}
-	
-	/**
-	 * Perform any cleanup. This method should remove any listeners that were
-	 * attached to other objects. This gets called when the presentation
-	 * widget is disposed. This is safer than cleaning up in the dispose() 
-	 * method, since this code will run even if some unusual circumstance 
-	 * destroys the Shell without first calling dispose().
-	 */
-	protected void presentationDisposed() {
-	    // Remove any listeners that were attached to any
-		// global Eclipse resources. This is necessary in order to prevent
-		// memory leaks.
-		PlatformUI.getWorkbench().getThemeManager().removePropertyChangeListener(themeChangeListener);
-	}
-
-	public void setBounds(Rectangle bounds) {
-		Rectangle newBounds = Geometry.copy(bounds);
-		
-		if (newBounds.width == 0) {
-			// Workaround a bug in the Eclipse 3.0 release: minimized presentations will be
-			// given a width of 0.
-			newBounds.width = presentationControl.getBounds().width;
-		}
-		
-		if (getSite().getState() == IStackPresentationSite.STATE_MINIMIZED) {
-			newBounds.height = computeMinimumSize().y;
-		}
-		
-		// Set the bounds of the presentation widge
-		presentationControl.setBounds(newBounds);
-		
-		// Update the bounds of the currently visible part
-		layout();
-	}
-	
-	/**
-	 * Lay out the presentation's widgets
-	 */
-	private void layout() {
-		
-		// Determine the inner bounds of the presentation
-		Rectangle presentationClientArea = presentationControl.getClientArea();
-		presentationClientArea.x += getBorderWidth();
-		presentationClientArea.width -= getBorderWidth() * 2;
-		presentationClientArea.y += getBorderWidth();
-		presentationClientArea.height -= getBorderWidth() * 2;
-		
-		// Position the upper-right toolbar
-		Point upperRightSize = upperRight.getSize();
-		int upperRightStartX = presentationClientArea.x + presentationClientArea.width - upperRightSize.x - SPACING_WIDTH;
-
-		Rectangle upperRightBounds = new Rectangle(upperRightStartX,
-				presentationClientArea.y + SPACING_WIDTH, upperRightSize.x, upperRightSize.y);
-		
-		upperRight.setBounds(upperRightBounds);
-		
-		int tabStart = presentationClientArea.x + SPACING_WIDTH + 1;
-		int verticalSpaceRequired = 0;
-		if (!showIconOnTabs) {
-			Point upperLeftSize;
-
-			upperLeftSize = titleIconToolbar.getSize();
-			Rectangle upperLeftBounds = new Rectangle(presentationClientArea.x + SPACING_WIDTH, 
-					presentationClientArea.y + SPACING_WIDTH,
-					upperLeftSize.x, upperLeftSize.y);
-			
-			titleIconToolbar.setBounds(upperLeftBounds);
-
-			tabStart = upperLeftBounds.x + upperLeftBounds.width + SPACING_WIDTH;
-			verticalSpaceRequired = upperLeftSize.y;
-		} 
-		
-		int availableTabWidth = upperRightStartX - tabStart - SPACING_WIDTH;
-		
-		Point toolbarSize = toolBar.computeSize(availableTabWidth, SWT.DEFAULT);
-		int minToolbarWidth = WrappedTabsUtil.getMaximumItemWidth(toolBar);
-				
-		toolBar.setBounds(tabStart,
-				presentationClientArea.y + SPACING_WIDTH, 
-				availableTabWidth, toolbarSize.y);
-		
-		verticalSpaceRequired = Math.max(verticalSpaceRequired, upperRightSize.y);
-		verticalSpaceRequired = Math.max(verticalSpaceRequired, toolbarSize.y);
-		
-		int verticalOffset = presentationClientArea.y + verticalSpaceRequired + getBorderWidth() + 2 * SPACING_WIDTH;
-		
-		contentArea.setBounds(presentationClientArea.x, verticalOffset, 
-				presentationClientArea.width, presentationClientArea.height - verticalOffset);
-		
-		if (isShowingToolbar()) {
-			contentArea.setTopLeft(contentDescriptionWrapper);
-			contentArea.setTopCenter(toolbarProxy.getControl());
-		} else {
-			contentArea.setTopLeft(null);
-			contentArea.setTopCenter(null);
-		}
-		
-		contentArea.layout();
-		
-		// Position the view's widgets
-		if (current != null) {
-			Rectangle clientRectangle = clientArea.getBounds();
-			Point clientAreaStart = presentationControl.getParent().toControl(
-					contentArea.toDisplay(clientRectangle.x, clientRectangle.y));
-			
-			current.setBounds(new Rectangle(clientAreaStart.x, 
-					clientAreaStart.y,
-					clientRectangle.width, 
-					clientRectangle.height));
-		}
-		
-	}
-
-	private int getBorderWidth() {
-		return PlatformUI.getWorkbench().getThemeManager().getCurrentTheme().getInt(WrappedTabsThemeConstants.BORDER_SIZE);
-	}
-
-	public Point computeMinimumSize() {
-		Point minSize = new Point(100, 16);
-		Point upperLeftSize = titleIconToolbar.getSize();
-		Point toolBarSize = toolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT, false);
-		
-		int BORDER_WIDTH = getBorderWidth();
-		Point result = new Point(minSize.x + upperLeftSize.x + 3 * SPACING_WIDTH + 2 * BORDER_WIDTH, 
-				Math.max(Math.max(upperLeftSize.y, minSize.y), toolBarSize.y) 
-				+ 2 * SPACING_WIDTH + 2 * BORDER_WIDTH);
-		
-		return result;
-	}
-
-	public void setVisible(boolean isVisible) {
-		
-		// Make the presentation widget visible
-		presentationControl.setVisible(isVisible);
-		
-		// Make the currently visible part visible
-		if (current != null) {
-			current.setVisible(isVisible);
-			if (current.getToolBar() != null) {
-				current.getToolBar().setVisible(isVisible && isShowingToolbar());
-			}
-		}
-
-		if (isVisible) {
-			// Restore the bounds of the currently visible part. 
-			// IPartPresentations can be used by multiple StackPresentations,
-			// although only one such presentation is ever visible at a time.
-			// It is possible that some other presentation has changed the
-			// bounds of the part since it was last visible, so we need to
-			// update the part's bounds when the presentation becomes visible.
-			layout();
-		}
-	}
-
-	private void clearSelection() {
-		// If there was an existing part selected, make it invisible
-		if (current != null) {
-			current.setVisible(false);
-		}
-
-		current = null;
-	}
-	
-	public void currentPartChanged() {
-		boolean layoutNeeded = false;
-		
-		if (titleIcon.getImage() != current.getTitleImage()) {
-			titleIcon.setImage(current.getTitleImage());
-			titleIcon.setDisabledImage(current.getTitleImage());
-			titleIconToolbar.pack(true);
-			titleIconToolbar.redraw();
-			
-			layoutNeeded = true;
-		}
-		
-		if (!contentDescription.getText().equals(current.getTitleStatus())) {
-			contentDescription.setText(current.getTitleStatus());
-			
-			layoutNeeded = true;
-		}
-			
-		if (current.getToolBar() != null) {
-			if (isShowingToolbar()) {
-				current.getToolBar().setVisible(true);
-				layoutNeeded = true;
-			} else {
-				current.getToolBar().setVisible(false);
-			}
-			
-			toolbarProxy.setTargetControl(current.getToolBar());
-		}
-		
-		if (layoutNeeded) {
-			layout();
-		}
-	}
-	
-	public void selectPart(IPresentablePart toSelect) {
-		// Ignore redundant selections
-		if (toSelect == current) {
-			return;
-		}
-		
-		clearSelection();
-		
-		// Select the new part
-		current = toSelect;
-		
-		// Ordering is important here. We need to make the part
-		// visible before updating its bounds, or the call to setBounds
-		// may be ignored.
-		
-		if (current != null) {
-			// Make the newly selected part visible
-			current.setVisible(true);
-			
-			ToolItem[] items = toolBar.getItems();
-			
-			for (int idx = 0; idx < items.length; idx++) {
-				ToolItem item = items[idx];
-				
-				item.setSelection(getPartForTab(item) == current);
-			}
-			
-			currentPartChanged();
-		}
-		
-		refreshButtonBarEnablement();
-		updateToolbarImages();
-		
-		// Update the bounds of the newly selected part
-		layout();
-	}
-
-	public Control[] getTabList(IPresentablePart part) {
-		return new Control[] {part.getControl()};
-	}
-
-	public Control getControl() {
-		return presentationControl;
-	}
-
-	private int indexOf(IPresentablePart part) {
-		ToolItem item = getTab(part);
-		
-		if (item == null) {
-			return -1;
-		}
-		
-		return toolBar.indexOf(item); 
-	}
-	
-	public void addPart(IPresentablePart newPart, Object cookie) {
-		if (getTab(newPart) != null) {
-			return;
-		}
-		
-		int position = toolBar.getItemCount();
-		
-		// If this part is being added due to a drag/drop operation,
-		// determine the correct insertion position
-		if (cookie instanceof DropLocation) {
-			DropLocation location = (DropLocation)cookie;
-			
-			position = indexOf(location.part);
-			
-			// If we can't find the tab, then fall back to the
-			// insertionPosition field
-			if (position == -1) {
-				position = location.insertionPosition;
-			} else {
-				if (!location.before) {
-					position++;
-				}
-			}
-		}
-		
-		// Ignore the cookie for now, since we don't support drag-and-drop yet.
-		ToolItem toolItem = new ToolItem(toolBar, SWT.RADIO, position);
-		
-		// Attach the newPart pointer to the ToolItem. This is used for getPartForTab
-		// to determine which part is associated with the tool item
-		toolItem.setData(PART_DATA, newPart);
-		
-		// Attach a property change listener to the part. This will update the ToolItem
-		// to reflect changes in the part.
-		newPart.addPropertyListener(childPropertyChangeListener);
-		
-		// Attach a dispose listener to the item. This removes the above property
-		// change listener from the part when the item is destroyed. This prevents
-		// memory leaks.
-		toolItem.addDisposeListener(tabDisposeListener);
-		
-		// Listen to selection events in the new tool item
-		toolItem.addSelectionListener(tabItemSelectionAdapter);
-		
-		// Initialize the tab for this part
-		initTab(toolItem, newPart);
-		
-		layout();
-		
-		toolBar.layout(true);
-		presentationControl.redraw();
-	}
-
-	protected void initTab(ToolItem item, IPresentablePart part) {
-		String tabName = getTabText(part);
-		
-		if (!tabName.equals(item.getText())) {
-			item.setText(tabName);
-		}
-		
-		if (!(part.getTitleToolTip().equals(item.getToolTipText()))) {
-			item.setToolTipText(part.getTitleToolTip());
-		}
-
-		if (showIconOnTabs && part.getTitleImage() != item.getImage()) {
-			item.setImage(part.getTitleImage());
-		}
-		
-	}
-	
-	/**
-	 * Returns the decorated tab text for the given part. By default, we attach 
-	 * a star to indicate dirty tabs.
-	 * 
-	 * @param part part whose text is being computed
-	 * @return the decorated tab text for the given part
-	 */
-	protected String getTabText(IPresentablePart part) {
-		String result = part.getName();
-		
-		if (part.isDirty()) {
-			result = "*" + result;
-		}
-		
-		return result;
-	}
-	
-	/**
-	 * Removes the given part from the stack.
-	 * 
-	 * @param oldPart the part to remove (not null)
-	 */
-	public void removePart(IPresentablePart oldPart) {
-		// If we're removing the currently selected part, clear the selection
-		if (oldPart == current) {
-			clearSelection();
-			refreshButtonBarEnablement();
-		}
-		
-		ToolItem item = getTab(oldPart);
-		
-		// Don't need to do anything if the part has already been removed
-		if (item == null) {
-			return;
-		}
-		
-		// Dispose the tab. The dispose listener on the item
-		// will handle all the cleanup.
-		item.dispose();
-		
-		layout();
-		
-		presentationControl.redraw();
-	}
-
-	/**
-	 * Called whenever a property changes for one of the parts in this
-	 * presentation. 
-	 * 
-	 * @param part
-	 * @param property
-	 */
-	protected void childPropertyChanged(IPresentablePart part, int property) {
-		ToolItem toolItem = getTab(part);
-		
-		// If there is no tab for this part, just ignore the property change
-		if (toolItem == null) {
-			return;
-		}
-		
-		initTab(toolItem, part);
-		
-		if (part == current) {
-			currentPartChanged();
-		}
-	}
-
-	/**
-	 * Returns the tab associated with the given part or null if none 
-	 * 
-	 * @param part the part to check for
-	 * @return the tab associated with the given part or null if none
-	 */
-	protected final ToolItem getTab(IPresentablePart part) {
-		ToolItem[] items = toolBar.getItems();
-		
-		for (int idx = 0; idx < items.length; idx++) {
-			ToolItem item = items[idx];
-			
-			if (getPartForTab(item) == part) {
-				return item;
-			}
-		}
-			
-		return null;
-	}
-	
-	/**
-	 * Returns the part associated with the given tab, or null if none.
-	 * 
-	 * @param item the tab to query
-	 * @return the part associated with the given tab or null if none
-	 */
-	protected final IPresentablePart getPartForTab(ToolItem item) {
-		return (IPresentablePart)item.getData(PART_DATA);
-	}
-	
-	public StackDropResult dragOver(Control currentControl, Point location) {		
-		Point localCoordinates = toolBar.toControl(location);
-		
-		// Ignore drag operations that aren't on top of the toolbar we're using
-		// for tabs.
-		if (toolBar.getClientArea().contains(localCoordinates)) {
-			DropLocation dropLocation = new DropLocation();
-			
-			ToolItem item = toolBar.getItem(localCoordinates);
-			
-			if (item == null) {
-				item = toolBar.getItem(toolBar.getItemCount() - 1);
-			}
-			
-			Rectangle itemBounds = item.getBounds();
-			dropLocation.before = (localCoordinates.x - itemBounds.x < itemBounds.width / 2);
-			dropLocation.part = getPartForTab(item);
-			// Also store the current index of the part we're dragging over. We will use
-			// the index if the part no longer exists at the time the drop occurs (ie:
-			// if we're dragging an item over itself)
-			dropLocation.insertionPosition = toolBar.indexOf(item);
-			
-			Point displayCoordinates = toolBar.toDisplay(itemBounds.x, itemBounds.y);
-			
-			Rectangle bounds = new Rectangle(displayCoordinates.x, displayCoordinates.y, 
-					4, itemBounds.height);
-			if (!dropLocation.before) {
-				bounds.x += itemBounds.width;
-			}
-			
-			return new StackDropResult(bounds, dropLocation);
-		}
-		
-		return null;
-	}
-	
-	public void setActive(int newState) {
-		activeFocus = (newState == AS_ACTIVE_FOCUS);
-		presentationControl.redraw();
-	}
-	
-	public void setState(int state) {
-		updateToolbarImages();
-	}
-	
-	public void showPaneMenu(Point location) {
-		if (current == null) {
-			return;
-		}
-		
-		IPartMenu menu = current.getMenu();
-		
-		if (menu == null) {
-			return;
-		}
-
-		menu.showMenu(location);
-	}
-	
-	public void showPaneMenu() {	
-		Rectangle bounds = titleIconToolbar.getBounds();
-		Point location = titleIconToolbar.getParent().toDisplay(bounds.x, bounds.y + bounds.height);
-		
-		showPaneMenu(location);
-	}
-	
-	public void showSystemMenu() {
-		Rectangle bounds = viewMenu.getBounds();
-		Point displayPos = viewMenu.getParent().toDisplay(bounds.x, bounds.y + bounds.height);
-    	
-		showSystemMenu(displayPos);
-	}
-	
-	public void showSystemMenu(Point displayPos) {
-		Menu aMenu = systemMenuManager.createContextMenu(presentationControl);
-		systemMenuManager.update(true);
-		aMenu.setLocation(displayPos.x, displayPos.y);
-		aMenu.setVisible(true);		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.StackPresentation#showPartList()
-	 */
-	public void showPartList() {
-		
-		// The part list opens when the user presses ctrl-e to open the list
-		// of editors. In this presentation, the part list is part of the system menu,
-		// so opening the part list is equivalent to opening the system menu.
-		showSystemMenu();
-	}
-
-	protected void showToolbar(IPresentablePart part, boolean shouldShow) {
-		
-		if (shouldShow != isShowingToolbar(part)) {
-			ToolItem tab = getTab(part);
-			tab.setData(SHOWING_TOOLBAR, shouldShow ? SHOWING_TOOLBAR : null);
-			
-			if (part == current) {
-				Control toolbar = part.getToolBar();
-				if (toolbar != null) {
-					toolbar.setVisible(shouldShow);
-				}
-				
-				layout();
-		
-				updateToolbarImages();
-				
-				if (getSite().getState() == IStackPresentationSite.STATE_MINIMIZED) {
-					getSite().setState(IStackPresentationSite.STATE_RESTORED);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * @param selection
-	 */
-	public void showToolbar(boolean selection) {
-		if (current != null) {
-			showToolbar(current, selection);
-		}
-	}
-	
-	public IPresentablePart getCurrent() {
-		return current;
-	}
-	
-	private boolean isShowingToolbar(IPresentablePart part) {
-		ToolItem tab = getTab(part);
-		return tab.getData(SHOWING_TOOLBAR) != null;
-	}
-	
-	public boolean isShowingToolbar() {
-		if (current == null) {
-			return false;
-		}
-		
-		return isShowingToolbar(current);		
-	}
-
-	/**
-	 * @param parts
-	 */
-	public void close(IPresentablePart[] parts) {
-		getSite().close(parts);
-	}
-	
-	private Color getBorderColor() {
-		ITheme current = PlatformUI.getWorkbench().getThemeManager().getCurrentTheme();
-		if(activeFocus) {
-			return current.getColorRegistry().get(WrappedTabsThemeConstants.BORDER_COLOR_FOCUS);
-		} else {
-			return current.getColorRegistry().get(WrappedTabsThemeConstants.BORDER_COLOR_NOFOCUS);
-		}
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsPresentationFactory.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsPresentationFactory.java
deleted file mode 100644
index 7e20edc..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsPresentationFactory.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.wrappedtabs;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.presentations.AbstractPresentationFactory;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.StackPresentation;
-
-/**
- * @since 3.0
- */
-public class WrappedTabsPresentationFactory extends AbstractPresentationFactory {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.AbstractPresentationFactory#createEditorPresentation(org.eclipse.swt.widgets.Composite, org.eclipse.ui.presentations.IStackPresentationSite)
-	 */
-	public StackPresentation createEditorPresentation(Composite parent,
-			IStackPresentationSite site) {
-		return new WrappedTabsPartPresentation(parent, site, true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.AbstractPresentationFactory#createViewPresentation(org.eclipse.swt.widgets.Composite, org.eclipse.ui.presentations.IStackPresentationSite)
-	 */
-	public StackPresentation createViewPresentation(Composite parent,
-			IStackPresentationSite site) {
-		return new WrappedTabsPartPresentation(parent, site, false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.presentations.AbstractPresentationFactory#createStandaloneViewPresentation(org.eclipse.swt.widgets.Composite, org.eclipse.ui.presentations.IStackPresentationSite, boolean)
-	 */
-	public StackPresentation createStandaloneViewPresentation(Composite parent,
-			IStackPresentationSite site, boolean showTitle) {
-		return new WrappedTabsPartPresentation(parent, site, false);
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsThemeConstants.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsThemeConstants.java
deleted file mode 100644
index 6aad8a0..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsThemeConstants.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.examples.presentation.wrappedtabs;
-
-/**
- * Theme presentation constants
- * 
- * @since 3.0
- */
-public class WrappedTabsThemeConstants {
-	public final static String ID = "org.eclipse.ui.examples.presentation.wrappedtabstheme"; //$NON-NLS-1$
-	
-	public final static String TAB_FONT = "org.eclipse.ui.examples.presentation.wrappedtabstheme.font"; //$NON-NLS-1$
-	public final static String BORDER_COLOR_FOCUS = "org.eclipse.ui.examples.presentation.wrappedtabstheme.foreground_focus"; //$NON-NLS-1$
-	public final static String BORDER_COLOR_NOFOCUS = "org.eclipse.ui.examples.presentation.wrappedtabstheme.foreground_nofocus"; //$NON-NLS-1$
-	public final static String BORDER_SIZE = "org.eclipse.ui.examples.presentation.wrappedtabstheme.bordersize"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsUtil.java b/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsUtil.java
deleted file mode 100644
index 7d8db35..0000000
--- a/examples/org.eclipse.ui.examples.presentation/src/org/eclipse/ui/examples/presentation/wrappedtabs/WrappedTabsUtil.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.presentation.wrappedtabs;
-
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-
-/**
- * @since 3.0
- */
-public class WrappedTabsUtil {
-	private WrappedTabsUtil() {
-		
-	}
-	
-	/**
-	 * Returns the width of the widest ToolItem in the given toolbar
-	 * 
-	 * @param toMeasure toolbar to measure
-	 * @return the width (pixels) of the widest ToolItem in the given toolbar
-	 */
-	public static int getMaximumItemWidth(ToolBar toMeasure) {
-		int maxWidth = 0;
-		ToolItem items[] = toMeasure.getItems();
-		
-		for (int i = 0; i < items.length; i++) {
-			ToolItem item = items[i];
-			
-			maxWidth = Math.max(maxWidth, item.getBounds().width);
-		}
-		
-		return maxWidth;
-	}
-}
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 12f1ec2..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.propertysheet</name>
-	<comment></comment>
-	<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/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 36e5b57..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,78 +0,0 @@
-#Mon Jan 15 21:12:52 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 21abc82..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Mon Jan 15 17:29:04 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 632cb55..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Jan 10 16:54:15 EST 2006
-compilers.p.deprecated=1
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
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 02cf675..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Address.java
+++ /dev/null
@@ -1,377 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.ComboBoxPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * 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 f1b77ac..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Birthday.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.Date;
-import java.util.GregorianCalendar;
-import java.util.Vector;
-
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * 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 2320280..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddress.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-/**
- * 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 8625f80..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddressValidator.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 0fb7653..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/GroupElement.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 6ee8086..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/IUserConstants.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 41c020a..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/MessageUtil.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 a3e76ca..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Name.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * 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 d536e8d..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/OrganizationElement.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * 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 49b9773..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PopupMenuActionDelegate.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 b90da25..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetContentOutlinePage.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 df93199..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, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Joe Bowbeer (jozart@blarg.net) - removed dependency on runtime compatibility layer (bug 74526)
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-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
-     */
-    public PropertySheetPlugin() {
-        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 8202b75..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/StreetAddress.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * 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 9c726b4..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserEditor.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 fa5cc4a..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserElement.java
+++ /dev/null
@@ -1,615 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.ColorPropertyDescriptor;
-import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySheetEntry;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * 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 fc45ba6..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserFileParser.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 edf96bc..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, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-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/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.propertysheet/META-INF/MANIFEST.MF
deleted file mode 100644
index 518284f..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.ui.examples.propertysheet; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-ClassPath: propertysheet.jar
-Bundle-Activator: org.eclipse.ui.examples.propertysheet.PropertySheetPlugin
-Bundle-Vendor: %Plugin.providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.ui.views,
- org.eclipse.ui.ide,
- org.eclipse.jface.text,
- org.eclipse.text,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.ui.editors
-Eclipse-LazyStart: true
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 4602330..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</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 fb15c08..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.propertysheet.jar = Eclipse UI Examples PropertySheet/
-
-bin.includes = doc-html/,\
-               icons/,\
-               about.html,\
-               doc.zip,\
-               HelpContexts.xml,\
-               plugin.properties,\
-               plugin.xml,\
-               *.jar,\
-               META-INF/
-
-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 a41081e..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/doc-html/hglegal.htm
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <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/ui_propertysheet_ex.html b/examples/org.eclipse.ui.examples.propertysheet/doc-html/ui_propertysheet_ex.html
deleted file mode 100644
index 54205b2..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/doc-html/ui_propertysheet_ex.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <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;
-
-</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 4842080..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-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 d834a9e..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/plugin.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%Editors.UserEditor"
-            icon="icons/obj16/usereditor.gif"
-            extensions="usr"
-            class="org.eclipse.ui.examples.propertysheet.UserEditor"
-            id="org.eclipse.ui.examples.propertysheet.UserEditor">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.ui.examples.propertysheet.UserElement"
-            id="org.eclipse.ui.examples.propertysheet">
-         <action
-               label="%PopupMenus.action"
-               class="org.eclipse.ui.examples.propertysheet.PopupMenuActionDelegate"
-               menubarPath="additions"
-               enablesFor="1"
-               id="org.eclipse.ui.examples.propertysheet.action1">
-         </action>
-      </objectContribution>
-   </extension>
-   <extension
-         point="org.eclipse.help.contexts">
-      <contexts
-            file="HelpContexts.xml">
-      </contexts>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/.classpath b/examples/org.eclipse.ui.examples.rcp.browser/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/.cvsignore b/examples/org.eclipse.ui.examples.rcp.browser/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/.project b/examples/org.eclipse.ui.examples.rcp.browser/.project
deleted file mode 100644
index 72f5949..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.rcp.browser</name>
-	<comment></comment>
-	<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/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.rcp.browser/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index e9e4d26..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Jan 15 21:20:27 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.rcp.browser/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 19dd0a9..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:17:40 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/Browser.product b/examples/org.eclipse.ui.examples.rcp.browser/Browser.product
deleted file mode 100644
index cf1dee7..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/Browser.product
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.1"?>
-
-<product name="%productName" id="org.eclipse.ui.examples.rcp.browser.product" application="org.eclipse.ui.examples.rcp.browser.app" useFeatures="false">
-
-   <aboutInfo>
-      <image path="icons/eclipse_lg.gif"/>
-      <text>
-         %aboutText
-      </text>
-   </aboutInfo>
-
-   <configIni use="default"/>
-
-   <launcherArgs>
-   </launcherArgs>
-
-   <windowImages small="icons/eclipse.gif" large="icons/eclipse32.gif"/>
-
-
-   <launcher name="browser">
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <plugins includeFragments="false">
-      <plugin id="org.eclipse.core.commands"/>
-      <plugin id="org.eclipse.core.expressions"/>
-      <plugin id="org.eclipse.core.runtime"/>
-      <plugin id="org.eclipse.help"/>
-      <plugin id="org.eclipse.jface"/>
-      <plugin id="org.eclipse.osgi"/>
-      <plugin id="org.eclipse.swt"/>
-      <plugin id="org.eclipse.swt.carbon.macosx.ppc"/>
-      <plugin id="org.eclipse.swt.gtk.linux.ia64"/>
-      <plugin id="org.eclipse.swt.gtk.linux.ppc"/>
-      <plugin id="org.eclipse.swt.gtk.linux.x86"/>
-      <plugin id="org.eclipse.swt.gtk.linux.x86_64"/>
-      <plugin id="org.eclipse.swt.gtk.solaris.sparc"/>
-      <plugin id="org.eclipse.swt.motif.aix.ppc"/>
-      <plugin id="org.eclipse.swt.motif.hpux.ia64_32"/>
-      <plugin id="org.eclipse.swt.motif.hpux.PA_RISC"/>
-      <plugin id="org.eclipse.swt.motif.linux.x86"/>
-      <plugin id="org.eclipse.swt.motif.solaris.sparc"/>
-      <plugin id="org.eclipse.swt.photon.qnx.x86"/>
-      <plugin id="org.eclipse.swt.win32.wce_ppc.arm"/>
-      <plugin id="org.eclipse.swt.win32.win32.x86"/>
-      <plugin id="org.eclipse.ui"/>
-      <plugin id="org.eclipse.ui.examples.rcp.browser"/>
-      <plugin id="org.eclipse.ui.workbench"/>
-   </plugins>
-
-</product>
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.rcp.browser/META-INF/MANIFEST.MF
deleted file mode 100644
index a856236..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.ui.examples.rcp.browser; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-ClassPath: browser.jar
-Bundle-Activator: org.eclipse.ui.examples.rcp.browser.BrowserPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.ui
-Eclipse-LazyStart: true
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 4602330..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</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 17534b0..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               *.jar,\
-               about.html,\
-               readme.html,\
-               splash.bmp,\
-               META-INF/
-source.browser.jar = src/
-src.includes = about.html,\
-               readme.html
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/icons/alt16.gif b/examples/org.eclipse.ui.examples.rcp.browser/icons/alt16.gif
deleted file mode 100644
index 05626b1..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/icons/alt16.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/icons/alt32.gif b/examples/org.eclipse.ui.examples.rcp.browser/icons/alt32.gif
deleted file mode 100644
index b432f88..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/icons/alt32.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/icons/alt_about.gif b/examples/org.eclipse.ui.examples.rcp.browser/icons/alt_about.gif
deleted file mode 100644
index 20d9ad2..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/icons/alt_about.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse.gif b/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse.gif
deleted file mode 100644
index 6ca37e0..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse32.gif b/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse32.gif
deleted file mode 100644
index f71a8f6..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse_lg.gif b/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse_lg.gif
deleted file mode 100644
index 27c0838..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse_lg.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/plugin.properties b/examples/org.eclipse.ui.examples.rcp.browser/plugin.properties
deleted file mode 100644
index 76d0a44..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/plugin.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName= Browser Example
-providerName= Eclipse.org
-
-productName= Browser Example
-appName= Browser Example App
-perspectives.browser.name= Browser Example
-views.category.name= Browser Example
-views.browser.name= Browser
-views.history.name= History
-
-swtAppName= BrowserExample
-aboutText= Browser Example \n\n\
-(c) Copyright Eclipse contributors and others 2003, 2004.  All rights reserved.\n\
-Visit http://www.eclipse.org/platform
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/plugin.xml b/examples/org.eclipse.ui.examples.rcp.browser/plugin.xml
deleted file mode 100644
index ae8d123..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/plugin.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <extension
-         point="org.eclipse.core.runtime.applications"
-         id="app"
-         name="%appName">
-      <application>
-         <run
-            class="org.eclipse.ui.examples.rcp.browser.BrowserApp">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            id="org.eclipse.ui.examples.rcp.browser.browserPerspective"
-            name="%perspectives.browser.name"
-            class="org.eclipse.ui.examples.rcp.browser.BrowserPerspectiveFactory"
-			fixed="false"/>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            id="org.eclipse.ui.examples.rcp.browser"
-            name="%views.category.name"/>
-      <view
-            id="org.eclipse.ui.examples.rcp.browser.browserView"
-            name="%views.browser.name"
-            icon="icons/eclipse.gif"
-            class="org.eclipse.ui.examples.rcp.browser.BrowserView"
-            category="org.eclipse.ui.examples.rcp.browser"
-            allowMultiple="true"/>
-      <view
-            id="org.eclipse.ui.examples.rcp.browser.historyView"
-            name="%views.history.name"
-            icon="icons/eclipse.gif"
-            class="org.eclipse.ui.examples.rcp.browser.HistoryView"
-            category="org.eclipse.ui.examples.rcp.browser"/>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.products"
-         id="product">
-      <product
-            name="%productName"
-            application="org.eclipse.ui.examples.rcp.browser.app">
-         <property
-               name="appName"
-               value="%swtAppName"/>
-         <property
-               name="windowImages"
-               value="icons/eclipse.gif,icons/eclipse32.gif"/>
-         <property
-               name="aboutText"
-               value="%aboutText"/>
-         <property
-               name="aboutImage"
-               value="icons/eclipse_lg.gif"/>
-         <property
-               name="preferenceCustomization"
-               value="plugin_customization.ini"/>
-      </product>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            name="Browser"
-            id="org.eclipse.ui.examples.rcp.browser.commands.browserCategory"/>
-      <command
-            categoryId="org.eclipse.ui.examples.rcp.browser.commands.browserCategory"
-            name="Back"
-            id="org.eclipse.ui.examples.rcp.browser.commands.back"/>
-      <command
-            categoryId="org.eclipse.ui.examples.rcp.browser.commands.browserCategory"
-            name="Forward"
-            id="org.eclipse.ui.examples.rcp.browser.commands.forward"/>
-      <command
-            categoryId="org.eclipse.ui.examples.rcp.browser.commands.browserCategory"
-            name="Stop"
-            id="org.eclipse.ui.examples.rcp.browser.commands.stop"/>
-      <command
-            categoryId="org.eclipse.ui.examples.rcp.browser.commands.browserCategory"
-            name="Refresh"
-            id="org.eclipse.ui.examples.rcp.browser.commands.refresh"/>
-      <command
-            categoryId="org.eclipse.ui.examples.rcp.browser.commands.browserCategory"
-            name="New Tab"
-            id="org.eclipse.ui.examples.rcp.browser.commands.newTab"/>
-      <command
-            categoryId="org.eclipse.ui.examples.rcp.browser.commands.browserCategory"
-            name="History"
-            id="org.eclipse.ui.examples.rcp.browser.commands.history"/>
-      <command
-            categoryId="org.eclipse.ui.examples.rcp.browser.commands.browserCategory"
-            name="Easter Egg"
-            id="org.eclipse.ui.examples.rcp.browser.commands.easterEgg"/>
-   </extension>
-   <extension
-         point="org.eclipse.ui.bindings">
-      <scheme
-            name="Browser Keys"
-            id="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <key
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.back"
-            sequence="M3+ARROW_LEFT"
-            schemeId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <key
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.forward"
-            sequence="M3+ARROW_RIGHT"
-            schemeId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <key
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.stop"
-            sequence="ESC"
-            schemeId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <key
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.refresh"
-            sequence="F5"
-            schemeId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <key
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.newTab"
-            sequence="M1+T"
-            schemeId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <key
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.history"
-            sequence="M1+H"
-            schemeId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <key
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.easterEgg"
-            sequence="M1+M2+E"
-            schemeId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.preferences">
-      <initializer class="org.eclipse.ui.examples.rcp.browser.BrowserPreferenceInitializer"/>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/plugin_customization.ini b/examples/org.eclipse.ui.examples.rcp.browser/plugin_customization.ini
deleted file mode 100644
index e5ffb06..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/plugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-org.eclipse.ui/DOCK_PERSPECTIVE_BAR=topRight
-org.eclipse.ui/KEY_CONFIGURATION_ID=org.eclipse.ui.examples.rcp.browser.keyConfiguration
-org.eclipse.ui/presentationFactoryId=org.eclipse.ui.examples.presentation.customtoolbar
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 1f21ad5..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/readme.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-<title>Eclipse RCP Browser Example</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>Eclipse RCP Browser Example</h2>
- 
-<p>Last updated May 21, 2004</p>	
-
-<h3>Description</h3>
-<p>This is an example of a simple Eclipse Rich Client Platform (RCP) application.
-It is a bare bones web browser, using the SWT Browser control.
-</p>
-<p>
-The code is in package <code>org.eclipse.ui.examples.browser</code>, and consists
-of an application class (<code>BrowserApp</code>), a workbench advisor for 
-configuring the workbench (<code>BrowserAdvisor</code>), and a single perspective 
-(<code>BrowserPerspectiveFactory</code>) containing a single view (<code>BrowserView</code>).
-</p>
-<p>
-The application defines several built-in actions in the menu and toolbar that are
-typical for web browsers (Back, Forward, Stop, Refresh).  These are added in 
-<code>BrowserActionBuilder</code> when a new window is opened (see 
-<code>BrowserAdvisor.fillActionBars(...)</code>).  These actions are defined as 
-retargetable actions, for which the view registers handling actions.
-</p>
-<p>
-The view consists of an address bar (a <code>Label</code> and a <code>Text</code>
-control) and the <code>Browser</code> control.  To handle status and progress
-events, it simply passes on the relevant events from the <code>Browser</code> 
-control to the Workbench status line.
-
-<h3>Running the example</h3>
-To run the RCP Browser example from within the Eclipse SDK:
-<ol>
-<li>Load project org.eclipse.ui.examples.rcp.browser
-from the Eclipse repository into a self-hosting workspace.</li>
-<li>Create a new "Run-time workbench" launch configuration called "Browser Example".</li>
-<li>On the "Arguments" tab, select "Run a product" and choose select "org.eclipse.ui.examples.rcp.browser.product" from the drop-down.</li>
-<li>On the "Plug-ins" tab, configure it to include only the 
-  required plug-ins:
-  <ul>
-  <li>Press "Deselect All"</li>
-  <li>Check "org.eclipse.ui.examples.rcp.browser"</li>
-  <li>Press "Add Required Plug-ins"</li>
-  <li>Check "org.eclipse.update.configurator"</li>
-  </ul>
-</li>
-<li>Run or debug the launch config.</li>
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/splash.bmp b/examples/org.eclipse.ui.examples.rcp.browser/splash.bmp
deleted file mode 100644
index 6507770..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/splash.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserActionBarAdvisor.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserActionBarAdvisor.java
deleted file mode 100644
index 60960dd..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserActionBarAdvisor.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.ICoolBarManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.ToolBarContributionItem;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.RetargetAction;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-/**
- * 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.1
- */
-public class BrowserActionBarAdvisor extends ActionBarAdvisor {
-
-	private IAction newWindowAction, newTabAction, quitAction, historyAction, aboutAction;
-    private RetargetAction backAction, forwardAction, stopAction, refreshAction; 
-
-    public BrowserActionBarAdvisor(IActionBarConfigurer configurer) {
-        super(configurer);
-	}
-    
-	protected void makeActions(final IWorkbenchWindow window) {
-        ISharedImages images = window.getWorkbench().getSharedImages();
-		
-		newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window);
-        newWindowAction.setText("&New Window");
-        register(newWindowAction);
-		
-		newTabAction = new Action("New &Tab") { //$NON-NLS-1$
-		    int counter = 0;
-		    { setId("newTab");
-              setActionDefinitionId(IBrowserConstants.COMMAND_PREFIX + "newTab"); } //$NON-NLS-1$
-            public void run() {
-                try {
-                    String secondaryId = Integer.toString(++counter);
-                    IWorkbenchPage page = window.getActivePage();
-                    if (page != null) {
-                        page.showView(IBrowserConstants.BROWSER_VIEW_ID, secondaryId, IWorkbenchPage.VIEW_ACTIVATE);
-                    }
-                } catch (PartInitException e) {
-                    e.printStackTrace();
-                }
-            }
-		};
-        register(newTabAction);
-		
-		quitAction = ActionFactory.QUIT.create(window);
-        register(quitAction);
-		
-        backAction = new RetargetAction("back", "&Back");
-        backAction.setActionDefinitionId(IBrowserConstants.COMMAND_PREFIX + "back"); //$NON-NLS-1$
-		backAction.setToolTipText("Back");
-		backAction.setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_BACK));
-		window.getPartService().addPartListener(backAction);
-        register(backAction);
-		
-        forwardAction = new RetargetAction("forward", "&Forward");
-        forwardAction.setActionDefinitionId(IBrowserConstants.COMMAND_PREFIX + "forward"); //$NON-NLS-1$
-		forwardAction.setToolTipText("Forward");
-		forwardAction.setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_FORWARD));
-		window.getPartService().addPartListener(forwardAction);
-		register(forwardAction);
-		
-		stopAction = new RetargetAction("stop", "Sto&p");
-        stopAction.setActionDefinitionId(IBrowserConstants.COMMAND_PREFIX + "stop"); //$NON-NLS-1$
-		stopAction.setToolTipText("Stop");
-		window.getPartService().addPartListener(stopAction);
-		register(stopAction);
-		
-		refreshAction = new RetargetAction("refresh", "&Refresh");
-        refreshAction.setActionDefinitionId(IBrowserConstants.COMMAND_PREFIX + "refresh"); //$NON-NLS-1$
-		refreshAction.setToolTipText("Refresh");
-		window.getPartService().addPartListener(refreshAction);
-		register(refreshAction);
-		
-		historyAction = new Action("History", IAction.AS_CHECK_BOX) { //$NON-NLS-1$
-		    { setId("history");
-              setActionDefinitionId(IBrowserConstants.COMMAND_PREFIX + "history"); } //$NON-NLS-1$
-		    public void run() {
-		        try {
-		            IWorkbenchPage page = window.getActivePage();
-		            if (page != null) {
-		                IViewPart historyView = page.findView(IBrowserConstants.HISTORY_VIEW_ID);
-		                if (historyView == null) {
-		                    page.showView(IBrowserConstants.HISTORY_VIEW_ID);
-		                    setChecked(true);
-		                }
-		                else {
-		                    page.hideView(historyView);
-		                    setChecked(false);
-		                }
-		            }
-                } catch (PartInitException e) {
-                    e.printStackTrace();
-                }
-		    }
-		};
-        register(historyAction);
-
-		aboutAction = ActionFactory.ABOUT.create(window);
-        register(aboutAction);
-	}
-
-	protected void fillMenuBar(IMenuManager menuBar) {
-		IMenuManager fileMenu = new MenuManager("&File", "file");  //$NON-NLS-2$
-		menuBar.add(fileMenu);
-        fileMenu.add(newWindowAction);
-        fileMenu.add(newTabAction);
-		fileMenu.add(new Separator());
-        fileMenu.add(quitAction);
-		
-		IMenuManager viewMenu = new MenuManager("&View", "view");  //$NON-NLS-2$
-		menuBar.add(viewMenu);
-        viewMenu.add(backAction);
-        viewMenu.add(forwardAction);
-        viewMenu.add(stopAction);
-        viewMenu.add(refreshAction);
-		viewMenu.add(new Separator("views")); //$NON-NLS-1$
-        viewMenu.add(historyAction);
-
-		IMenuManager helpMenu = new MenuManager("&Help", "help");  //$NON-NLS-2$
-		menuBar.add(helpMenu);
-        helpMenu.add(aboutAction);
-	}
-
-	protected void fillCoolBar(ICoolBarManager coolBar) {
-		IToolBarManager toolBar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
-		coolBar.add(new ToolBarContributionItem(toolBar, "standard")); //$NON-NLS-1$
-		
-		// 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 f214ba5..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserAdvisor.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * The workbench advisor for the browser example.
- * Configures the workbench as needed for the browser example, including
- * specifying the default perspective id.
- * Creates the workbench window advisor for configuring each new window 
- * as it is being opened.
- * 
- * @since 3.0
- */
-public class BrowserAdvisor extends WorkbenchAdvisor {
-
-	/**
-	 * Constructs a new <code>BrowserAdvisor</code>.
-	 */
-	public BrowserAdvisor() {
-		// do nothing
-	}
-	
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor
-     */
-    public void initialize(IWorkbenchConfigurer configurer) {
-        super.initialize(configurer);
-//        configurer.setSaveAndRestore(true);
-    }
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor
-	 */
-	public String getInitialWindowPerspectiveId() {
-		return IBrowserConstants.BROWSER_PERSPECTIVE_ID;
-	}
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor
-     */
-    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(
-            IWorkbenchWindowConfigurer configurer) {
-        return new BrowserWindowAdvisor(configurer);
-    }
-}
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 f1585f9..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserApp.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-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 IApplication {
-	
-	/**
-	 * Constructs a new <code>BrowserApp</code>.
-	 */
-	public BrowserApp() {
-		// do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) 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();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		// TODO Auto-generated method stub
-		
-	}
-}
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 1a36c5e..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPerspectiveFactory.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-import org.eclipse.ui.IViewLayout;
-
-/**
- * The perspective factory for the RCP Browser Example's perspective.
- * 
- * @since 3.0
- */
-public class BrowserPerspectiveFactory implements IPerspectiveFactory {
-
-	/**
-	 * Constructs a new <code>BrowserPerspectiveFactory</code>.
-	 */
-	public BrowserPerspectiveFactory() {
-		// do nothing
-	}
-
-	/**
-	 * Creates the initial layout of the Browser perspective.
-	 */
-	public void createInitialLayout(IPageLayout layout) {
-		layout.addView(IBrowserConstants.BROWSER_VIEW_ID, IPageLayout.RIGHT, .25f, IPageLayout.ID_EDITOR_AREA);
-		layout.addPlaceholder(IBrowserConstants.HISTORY_VIEW_ID, IPageLayout.LEFT, .3f, IPageLayout.ID_EDITOR_AREA); //$NON-NLS-1$
-		IViewLayout historyLayout = layout.getViewLayout(IBrowserConstants.HISTORY_VIEW_ID);
-		historyLayout.setCloseable(true);
-		layout.setEditorAreaVisible(false);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPlugin.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPlugin.java
deleted file mode 100644
index dca29a8..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPlugin.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.rcp.browser;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * Plug-in class for the browser example.
- */
-public class BrowserPlugin extends AbstractUIPlugin {
-    private static BrowserPlugin DEFAULT;
-    
-    public BrowserPlugin() {
-        DEFAULT = this;
-    }
-
-    public static BrowserPlugin getDefault() {
-        return DEFAULT;
-    }
-
-    /**
-     * Logs the given throwable.
-     * 
-     * @param t the throwable to log
-     */
-    public void log(Throwable t) {
-        String msg = t.getMessage();
-        if (msg == null)
-            msg = t.toString();
-        IStatus status = new Status(IStatus.ERROR, getBundle().getSymbolicName(), 0, msg, t);
-        getLog().log(status);
-    }
-    
-    /**
-     * Returns a list of all views and editors in the given page,
-     * excluding any secondary views like the History view.
-     * 
-     * @param page the workbench page
-     * @return a list of all non-secondary parts in the page
-     */
-    public static List getNonSecondaryParts(IWorkbenchPage page) {
-        ArrayList list = new ArrayList();
-        list.addAll(Arrays.asList(page.getViewReferences()));
-        list.addAll(Arrays.asList(page.getEditorReferences()));
-        for (Iterator i = list.iterator(); i.hasNext();) {
-            IWorkbenchPartReference ref = (IWorkbenchPartReference) i.next();
-            if (ref instanceof ISecondaryPart) {
-                i.remove();
-            }
-        }
-        return list;
-    }
-    
-}
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPreferenceInitializer.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPreferenceInitializer.java
deleted file mode 100644
index 243ed5e..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPreferenceInitializer.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-
-/**
- * Preference initializer for the browser preferences.
- */
-public class BrowserPreferenceInitializer extends AbstractPreferenceInitializer {
-
-    public BrowserPreferenceInitializer() {
-        // do nothing
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-     */
-    public void initializeDefaultPreferences() {
-        Preferences prefs = BrowserPlugin.getDefault().getPluginPreferences();
-        prefs.setDefault(IBrowserConstants.PREF_HOME_PAGE, "http://eclipse.org");  //$NON-NLS-1$
-    }
-
-}
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 4b65de7..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserView.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.commands.ActionHandler;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.browser.CloseWindowListener;
-import org.eclipse.swt.browser.LocationAdapter;
-import org.eclipse.swt.browser.LocationEvent;
-import org.eclipse.swt.browser.OpenWindowListener;
-import org.eclipse.swt.browser.ProgressAdapter;
-import org.eclipse.swt.browser.ProgressEvent;
-import org.eclipse.swt.browser.StatusTextEvent;
-import org.eclipse.swt.browser.StatusTextListener;
-import org.eclipse.swt.browser.TitleEvent;
-import org.eclipse.swt.browser.TitleListener;
-import org.eclipse.swt.browser.WindowEvent;
-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.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.handlers.IHandlerService;
-import org.eclipse.ui.part.ViewPart;
-
-
-/**
- * The Browser view.  This consists of a <code>Browser</code> control, and an
- * address bar consisting of a <code>Label</code> and a <code>Text</code> 
- * control.  This registers handling actions for the retargetable actions added 
- * by <code>BrowserActionBuilder</code> (Back, Forward, Stop, Refresh).  
- * This also hooks listeners on the Browser control for status and progress
- * messages, and redirects these to the status line.
- * 
- * @since 3.0
- */
-public class BrowserView extends ViewPart {
-	
-    /**
-	 * Debug flag.  When true, status and progress messages are sent to the
-	 * console in addition to the status line.
-	 */
-	private static final boolean DEBUG = false;
-	
-	private Browser browser;
-	private Text location;
-	private String initialUrl;
-	
-	private Action backAction = new Action("Back") {
-		public void run() {
-			browser.back();
-		}
-	};
-	
-	private Action forwardAction = new Action("Forward") {
-		public void run() {
-			browser.forward();
-		}
-	};
-
-	private Action stopAction = new Action("Stop") {
-		public void run() {
-			browser.stop();
-			// cancel any partial progress.
-			getViewSite().getActionBars().getStatusLineManager().getProgressMonitor().done();
-		}
-	};
-
-	private Action refreshAction = new Action("Refresh") {
-		public void run() {
-			browser.refresh();
-		}
-	};
-	
-	/**
-	 * The easter egg action.  
-	 * See the corresponding command and key binding in the plugin.xml,
-	 * and how it's registered in createBrowser.
-	 */
-	private Action easterEggAction = new Action() {
-	    { setActionDefinitionId(IBrowserConstants.COMMAND_PREFIX + "easterEgg"); } //$NON-NLS-1$
-	    public void run() {
-	        browser.execute("window.confirm('You found the easter egg!')");
-	    }
-	};
-	
-    /**
-     * Finds the first browser view in the given window.
-     * 
-     * @param window the window
-     * @return the first found browser view, or <code>null</code> if none found
-     */
-    private static BrowserView findBrowser(IWorkbenchWindow window) {
-        IWorkbenchPage page = window.getActivePage();
-        IViewPart view = page.findView(IBrowserConstants.BROWSER_VIEW_ID);
-        if (view != null) {
-            return (BrowserView) view;
-        }
-        IViewReference[] refs = page.getViewReferences();
-        for (int i = 0; i < refs.length; i++) {
-            if (IBrowserConstants.BROWSER_VIEW_ID.equals(refs[i].getId())) {
-                return (BrowserView) refs[i].getPart(true);
-            }
-        }
-        return null;
-    }
-    
-	/**
-	 * Constructs a new <code>BrowserView</code>.
-	 */
-	public BrowserView() {
-	    initialUrl = BrowserPlugin.getDefault().getPluginPreferences().getString(IBrowserConstants.PREF_HOME_PAGE);
-	}
-	
-    public void init(IViewSite site, IMemento memento) throws PartInitException {
-        super.init(site);
-        if (memento != null) {
-	        String u = memento.getString(IBrowserConstants.MEMENTO_URL);
-	        if (u != null) {
-	            initialUrl = u;
-	        }
-        }
-    }
-    
-    public void saveState(IMemento memento) {
-        memento.putString(IBrowserConstants.MEMENTO_URL, browser.getUrl());
-    }
-    
-	public void createPartControl(Composite parent) {
-		browser = createBrowser(parent, getViewSite().getActionBars());
-		browser.setUrl(initialUrl);
-	}
-
-	public void setFocus() {
-		if (browser != null && !browser.isDisposed()) {
-			browser.setFocus();
-		}
-	}
-	
-	private Browser createBrowser(Composite parent, final IActionBars actionBars) {
-		
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 2;
-		parent.setLayout(gridLayout);
-		
-		Label labelAddress = new Label(parent, SWT.NONE);
-		labelAddress.setText("A&ddress");
-		
-		location = new Text(parent, SWT.BORDER);
-		GridData data = new GridData();
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		location.setLayoutData(data);
-
-		browser = new Browser(parent, SWT.NONE);
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalSpan = 2;
-		data.grabExcessHorizontalSpace = true;
-		data.grabExcessVerticalSpace = true;
-		browser.setLayoutData(data);
-
-		browser.addProgressListener(new ProgressAdapter() {
-			IProgressMonitor monitor = actionBars.getStatusLineManager().getProgressMonitor();
-			boolean working = false;
-			int workedSoFar;
-			public void changed(ProgressEvent event) {
-				if (DEBUG) {
-					System.out.println("changed: " + event.current + "/" + event.total);
-				}
-				if (event.total == 0) return;
-				if (!working) {
-					if (event.current == event.total) return;
-					monitor.beginTask("", event.total); //$NON-NLS-1$
-					workedSoFar = 0;
-					working = true;
-				}
-				monitor.worked(event.current - workedSoFar);
-				workedSoFar = event.current;
-			}
-			public void completed(ProgressEvent event) {
-				if (DEBUG) {
-					System.out.println("completed: " + event.current + "/" + event.total);
-				}
-				monitor.done();
-				working = false;
-			}
-		});
-		browser.addStatusTextListener(new StatusTextListener() {
-			IStatusLineManager status = actionBars.getStatusLineManager(); 
-			public void changed(StatusTextEvent event) {
-				if (DEBUG) {
-					System.out.println("status: " + event.text);
-				}
-				status.setMessage(event.text);
-			}
-		});
-		browser.addLocationListener(new LocationAdapter() {
-			public void changed(LocationEvent event) {
-			    if (event.top)
-			        location.setText(event.location);
-			}
-		});
-		browser.addTitleListener(new TitleListener() {
-            public void changed(TitleEvent event) {
-                setPartName(event.title);
-            }
-        });
-        browser.addOpenWindowListener(new OpenWindowListener() {
-            public void open(WindowEvent event) {
-                BrowserView.this.openWindow(event);
-            }
-        });
-        // TODO: should handle VisibilityWindowListener.show and .hide events
-        browser.addCloseWindowListener(new CloseWindowListener() {
-            public void close(WindowEvent event) {
-                BrowserView.this.close();
-            }
-        });
-		location.addSelectionListener(new SelectionAdapter() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				browser.setUrl(location.getText());
-			}
-		});
-		
-		// Hook the navigation actons as handlers for the retargetable actions
-		// defined in BrowserActionBuilder.
-		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$
-		
-		// Register the easter egg action with the key binding service,
-		// allowing it to be invoked directly via keypress, 
-		// without requiring the action to be visible in the UI.
-		// Note that the address field needs to have focus for this to work, 
-		// or any control other than the browser widget, due to 
-		// <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69919">bug 69919</a>.
-		IHandlerService hs = (IHandlerService) getSite().getService(
-				IHandlerService.class);
-		IHandler easterHandler = new ActionHandler(easterEggAction);
-		hs.activateHandler(easterEggAction.getActionDefinitionId(), easterHandler);
-		return browser;
-	}
-
-    /**
-     * Opens a new browser window.
-     * 
-     * @param event the open window event
-     */
-    private void openWindow(WindowEvent event) {
-        try {
-            IWorkbench workbench = getSite().getWorkbenchWindow().getWorkbench();
-            IWorkbenchWindow window = workbench.openWorkbenchWindow(IBrowserConstants.BROWSER_PERSPECTIVE_ID, null);
-            Shell shell = window.getShell();
-            if (event.location != null)
-                shell.setLocation(event.location);
-            if (event.size != null)
-                shell.setLocation(event.size);
-            BrowserView view = findBrowser(window);
-            Assert.isNotNull(view);
-            event.browser = view.browser;
-        } catch (WorkbenchException e) {
-            BrowserPlugin.getDefault().log(e);
-        }
-    }
-    
-    /**
-     * Closes this browser view.  Closes the window too if there
-     * are no non-secondary parts open.
-     */
-    private void close() {
-        IWorkbenchPage page = getSite().getPage();
-        IWorkbenchWindow window = page.getWorkbenchWindow();
-        page.hideView(this);
-        if (BrowserPlugin.getNonSecondaryParts(page).size() == 0) {
-            page.closePerspective(page.getPerspective(), true, true);
-        }
-        if (window.getActivePage() == null) {
-            window.close();
-        }
-    }
-
-}
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserWindowAdvisor.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserWindowAdvisor.java
deleted file mode 100644
index 8fc80bd..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserWindowAdvisor.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * Configures the browser window using the given window configurer.
- * 
- * @since 3.1
- */
-public class BrowserWindowAdvisor extends WorkbenchWindowAdvisor {
-
-    /**
-     * Creates a new browser window advisor.
-     * 
-     * @param configurer the window configurer
-     */
-    public BrowserWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        super(configurer);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor
-     */
-    public void preWindowOpen() {
-        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-        configurer.setInitialSize(new Point(800, 600));
-        
-        // Default window title is the product name, so don't need to set it
-        // explicitly anymore.
-//      configurer.setTitle("Browser Example");
-        
-//      configurer.setShowFastViewBars(true);
-    }
-
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchWindowAdvisor#createActionBarAdvisor(org.eclipse.ui.application.IActionBarConfigurer)
-     */
-    public ActionBarAdvisor createActionBarAdvisor(
-            IActionBarConfigurer actionBarConfigurer) {
-        return new BrowserActionBarAdvisor(actionBarConfigurer);
-    }
-    
-//  Uncomment the code below for a custom window layout (add back the missing imports using Ctrl+Shift+O) 
-/*    
-      public void createWindowContents(Shell shell) {
-          IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-          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);
-      }
-*/
-}
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/HistoryView.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/HistoryView.java
deleted file mode 100644
index 6ac0d4e..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/HistoryView.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.rcp.browser;
-
-import java.util.ArrayList;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.*;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.SWT;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * Mockup of a browser history view.
- * For now, it's just the sample view generated by PDE.
- */
-public class HistoryView extends ViewPart implements ISecondaryPart {
-	private TreeViewer viewer;
-	private DrillDownAdapter drillDownAdapter;
-	private Action action1;
-	private Action action2;
-	private Action doubleClickAction;
-
-	/*
-	 * The content provider class is responsible for
-	 * providing objects to the view. It can wrap
-	 * existing objects in adapters or simply return
-	 * objects as-is. These objects may be sensitive
-	 * to the current input of the view, or ignore
-	 * it and always show the same content 
-	 * (like Task List, for example).
-	 */
-	 
-	class TreeObject implements IAdaptable {
-		private String name;
-		private TreeParent parent;
-		
-		public TreeObject(String name) {
-			this.name = name;
-		}
-		public String getName() {
-			return name;
-		}
-		public void setParent(TreeParent parent) {
-			this.parent = parent;
-		}
-		public TreeParent getParent() {
-			return parent;
-		}
-		public String toString() {
-			return getName();
-		}
-		public Object getAdapter(Class key) {
-			return null;
-		}
-	}
-	
-	class TreeParent extends TreeObject {
-		private ArrayList children;
-		public TreeParent(String name) {
-			super(name);
-			children = new ArrayList();
-		}
-		public void addChild(TreeObject child) {
-			children.add(child);
-			child.setParent(this);
-		}
-		public void removeChild(TreeObject child) {
-			children.remove(child);
-			child.setParent(null);
-		}
-		public TreeObject [] getChildren() {
-			return (TreeObject [])children.toArray(new TreeObject[children.size()]);
-		}
-		public boolean hasChildren() {
-			return children.size()>0;
-		}
-	}
-
-	class ViewContentProvider implements IStructuredContentProvider, 
-										   ITreeContentProvider {
-		private TreeParent invisibleRoot;
-
-		public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		}
-		public void dispose() {
-		}
-		public Object[] getElements(Object parent) {
-			if (parent.equals(getViewSite())) {
-				if (invisibleRoot==null) initialize();
-				return getChildren(invisibleRoot);
-			}
-			return getChildren(parent);
-		}
-		public Object getParent(Object child) {
-			if (child instanceof TreeObject) {
-				return ((TreeObject)child).getParent();
-			}
-			return null;
-		}
-		public Object [] getChildren(Object parent) {
-			if (parent instanceof TreeParent) {
-				return ((TreeParent)parent).getChildren();
-			}
-			return new Object[0];
-		}
-		public boolean hasChildren(Object parent) {
-			if (parent instanceof TreeParent)
-				return ((TreeParent)parent).hasChildren();
-			return false;
-		}
-/*
- * We will set up a dummy model to initialize tree heararchy.
- * In a real code, you will connect to a real model and
- * expose its hierarchy.
- */
-		private void initialize() {
-			TreeObject to1 = new TreeObject("Leaf 1");
-			TreeObject to2 = new TreeObject("Leaf 2");
-			TreeObject to3 = new TreeObject("Leaf 3");
-			TreeParent p1 = new TreeParent("Parent 1");
-			p1.addChild(to1);
-			p1.addChild(to2);
-			p1.addChild(to3);
-			
-			TreeObject to4 = new TreeObject("Leaf 4");
-			TreeParent p2 = new TreeParent("Parent 2");
-			p2.addChild(to4);
-			
-			TreeParent root = new TreeParent("Root");
-			root.addChild(p1);
-			root.addChild(p2);
-			
-			invisibleRoot = new TreeParent("");
-			invisibleRoot.addChild(root);
-		}
-	}
-	class ViewLabelProvider extends LabelProvider {
-
-		public String getText(Object obj) {
-			return obj.toString();
-		}
-		public Image getImage(Object obj) {
-			String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
-			if (obj instanceof TreeParent)
-			   imageKey = ISharedImages.IMG_OBJ_FOLDER;
-			return PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
-		}
-	}
-
-	/**
-	 * The constructor.
-	 */
-	public HistoryView() {
-	}
-
-	/**
-	 * This is a callback that will allow us
-	 * to create the viewer and initialize it.
-	 */
-	public void createPartControl(Composite parent) {
-		viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-		drillDownAdapter = new DrillDownAdapter(viewer);
-		viewer.setContentProvider(new ViewContentProvider());
-		viewer.setLabelProvider(new ViewLabelProvider());
-		viewer.setInput(getViewSite());
-		makeActions();
-		hookContextMenu();
-		hookDoubleClickAction();
-	}
-
-	private void hookContextMenu() {
-		MenuManager menuMgr = new MenuManager("#PopupMenu");
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				HistoryView.this.fillContextMenu(manager);
-			}
-		});
-		Menu menu = menuMgr.createContextMenu(viewer.getControl());
-		viewer.getControl().setMenu(menu);
-		getSite().registerContextMenu(menuMgr, viewer);
-	}
-
-
-
-	private void fillContextMenu(IMenuManager manager) {
-		manager.add(action1);
-		manager.add(action2);
-		manager.add(new Separator());
-		drillDownAdapter.addNavigationActions(manager);
-		// Other plug-ins can contribute there actions here
-		manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-	
-
-	private void makeActions() {
-		action1 = new Action() {
-			public void run() {
-				showMessage("Action 1 executed");
-			}
-		};
-		action1.setText("Action 1");
-		action1.setToolTipText("Action 1 tooltip");
-		action1.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().
-			getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK));
-		
-		action2 = new Action() {
-			public void run() {
-				showMessage("Action 2 executed");
-			}
-		};
-		action2.setText("Action 2");
-		action2.setToolTipText("Action 2 tooltip");
-		action2.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().
-				getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK));
-		doubleClickAction = new Action() {
-			public void run() {
-				ISelection selection = viewer.getSelection();
-				Object obj = ((IStructuredSelection)selection).getFirstElement();
-				showMessage("Double-click detected on "+obj.toString());
-			}
-		};
-	}
-
-	private void hookDoubleClickAction() {
-		viewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				doubleClickAction.run();
-			}
-		});
-	}
-	private void showMessage(String message) {
-		MessageDialog.openInformation(
-			viewer.getControl().getShell(),
-			"History",
-			message);
-	}
-
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/IBrowserConstants.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/IBrowserConstants.java
deleted file mode 100644
index d507f73..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/IBrowserConstants.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.rcp.browser;
-
-/**
- * Interface defining constants for use in the browser example.
- */
-public interface IBrowserConstants {
-
-    /**
-     * ID of the RCP Browser Example plug-in.
-     */
-    public static final String PLUGIN_ID = "org.eclipse.ui.examples.rcp.browser"; //$NON-NLS-1$
-    
-    /**
-     * ID of the Browser perspective.
-     */
-    public static final String BROWSER_PERSPECTIVE_ID = PLUGIN_ID + ".browserPerspective"; //$NON-NLS-1$
-    
-    /**
-     * ID of the Browser view.
-     */
-    public static final String BROWSER_VIEW_ID = PLUGIN_ID + ".browserView"; //$NON-NLS-1$
-
-    /**
-     * ID of the History view.
-     */
-    public static final String HISTORY_VIEW_ID = PLUGIN_ID + ".historyView"; //$NON-NLS-1$
-
-    /**
-     * Common prefix for command ids.
-     */
-    public static final String COMMAND_PREFIX = PLUGIN_ID + ".commands."; //$NON-NLS-1$
-    
-    /**
-     * Preference key for the home page URL (property is String-valued).
-     */
-    public static final String PREF_HOME_PAGE = "homePage"; //$NON-NLS-1$
-
-    /**
-     * Memento attribute name for the browser URL (attribute is String-valued).
-     */
-    public static final String MEMENTO_URL = "url"; //$NON-NLS-1$
-    
-}
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/ISecondaryPart.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/ISecondaryPart.java
deleted file mode 100644
index 4e2c1bb..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/ISecondaryPart.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.rcp.browser;
-
-/**
- * Marks a workbench part implementation as being a secondary part.
- * A secondary part is one that exists only to support the browser,
- * and should not be considered when determining whether to close
- * a window whose last browser has been closed.
- */
-public interface ISecondaryPart {
-    // marker interface only; no behaviour
-}
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 208a260..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.readmetool</name>
-	<comment></comment>
-	<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/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 6a0c68d..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Jan 15 21:12:33 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index b274fd6..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Mon Jan 15 21:12:33 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index e5fd2a4..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Jan 10 16:54:24 EST 2006
-compilers.p.deprecated=1
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
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 7a57110..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AdaptableList.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-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() {
-        // do nothing
-    }
-
-    /**
-     * 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 fa5f42d..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddReadmeMarkerAction.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Joe Bowbeer (jozart@blarg.net) - removed dependency on runtime compatibility layer (bug 74528)
- *******************************************************************************/
-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.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-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.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.MarkerUtilities;
-import org.osgi.framework.Bundle;
-
-/**
- * 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) {
-            Bundle bundle = ReadmePlugin.getDefault().getBundle();
-            Platform.getLog(bundle).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 21f23b2..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddSentenceResolution.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.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 dc224b7..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DefaultSectionsParser.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-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) {
-            // do nothing
-        } catch (IOException e) {
-            // do nothing
-        }
-        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 50489ad..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DirtyStateContribution.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-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 09cbf35..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/EditorActionDelegate.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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() {
-        // do nothing
-    }
-
-    /* (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 does nothing.
-     *
-     * Selection in the workbench 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) {
-        // do nothing
-    }
-
-    /** 
-     * The <code>EditorActionDelegate</code> implementation of this
-     * <code>IEditorActionDelegate</code> method remembers the active editor.
-     *
-     * 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 workbench
-     * @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 dda2fe7..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeConstants.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 ce00f30..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, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 7a5d8d8..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElement.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 58379e5..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElementProperties.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-/**
- * 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) {
-        // do nothing
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public void setPropertyValue(Object name, Object value) {
-        // do nothing
-    }
-}
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 44e2ce1..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MessageUtil.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 89b5cc3..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/PopupMenuActionDelegate.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 ff4ab63..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlineDragListener.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.DragSourceAdapter;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.TextTransfer;
-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 e25ee80..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlinePage.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PlatformUI;
-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);
-
-        PlatformUI.getWorkbench().getHelpSystem().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/ReadmeControlContribution.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeControlContribution.java
deleted file mode 100644
index 0f1adf4..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeControlContribution.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.menus.WorkbenchWindowControlContribution;
-
-public class ReadmeControlContribution extends WorkbenchWindowControlContribution {
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.ControlContribution#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createControl(Composite parent) {
-		// Create a composite to place the label in 
-		Composite comp = new Composite(parent, SWT.NONE);
-		
-		// Give some room around the control
-		FillLayout layout = new FillLayout();
-		layout.marginHeight = 2;
-		layout.marginWidth  = 2;
-		comp.setLayout(layout);
-		
-		// Create a label for the trim. 
-		Label ccCtrl = new Label (comp, SWT.BORDER | SWT.CENTER);
-		ccCtrl.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_DARK_BLUE));
-		ccCtrl.setForeground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
-		ccCtrl.setText(" Ctrl Contrib (" + getSideName(getCurSide()) + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-		ccCtrl.setToolTipText("Ctrl Contrib Tooltip"); //$NON-NLS-1$
-		
-		return comp;
-	}
-	
-	private String getSideName(int side) {
-		if (side == SWT.TOP) return "Top"; //$NON-NLS-1$
-		if (side == SWT.BOTTOM) return "Bottom"; //$NON-NLS-1$
-		if (side == SWT.LEFT) return "Left"; //$NON-NLS-1$
-		if (side == SWT.RIGHT) return "Right"; //$NON-NLS-1$
-		
-		return "Unknown Side"; //$NON-NLS-1$
-	}
-}
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 71f7460..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationPage.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-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();
-
-        PlatformUI.getWorkbench().getHelpSystem().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 615d1dc..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationWizard.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 workbench
- * 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 IWorkbenchWizard
-     */
-    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 e4b7cf4..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeDropActionDelegate.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 58e08d5..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditor.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.dnd.DropTargetListener;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.dnd.IDragAndDropService;
-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)
-	 * @see org.eclipse.ui.texteditor.StatusTextEditor#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		super.createPartControl(parent);
-		
-		StyledText tw = getSourceViewer().getTextWidget();
-		
-		// Add a 'TextTransfer' drop target to the editor
-		int ops = DND.DROP_DEFAULT | DND.DROP_COPY;
-		Transfer[] transfers = { TextTransfer.getInstance() };
-		DropTargetListener editorListener = new DropTargetListener() {
-
-			public void dragEnter(DropTargetEvent event) {
-				event.detail = DND.DROP_COPY;
-			}
-
-			public void dragLeave(DropTargetEvent event) {
-			}
-
-			public void dragOperationChanged(DropTargetEvent event) {
-				event.detail = DND.DROP_COPY;
-			}
-
-			public void dragOver(DropTargetEvent event) {
-				event.feedback = DND.FEEDBACK_SCROLL | DND.FEEDBACK_SELECT;
-			}
-
-			public void drop(DropTargetEvent event) {
-		        if (TextTransfer.getInstance().isSupportedType(event.currentDataType)) {
-					String text = (String) event.data;
-					getSourceViewer().getTextWidget().insert(text);
-				} 
-			}
-
-			public void dropAccept(DropTargetEvent event) {
-			}
-			
-		};
-		
-		IDragAndDropService dtSvc = (IDragAndDropService) getSite().getService(IDragAndDropService.class);
-		dtSvc.addMergedDropTarget(tw, ops, transfers, editorListener);
-	}
-	
-    /** (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 58c466a..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditorActionBarContributor.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.readmetool;
-
-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.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.LabelRetargetAction;
-import org.eclipse.ui.actions.RetargetAction;
-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);
-        PlatformUI.getWorkbench().getHelpSystem().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$
-        PlatformUI.getWorkbench().getHelpSystem().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$
-        PlatformUI.getWorkbench().getHelpSystem().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 fa02051..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-/**
- * 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);
-
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
-				IReadmeConstants.PROPERTY_PAGE_CONTEXT);
-
-        // layout the page
-
-        IResource resource = (IResource) getElement();
-        IStatus result = null;
-        if (resource.getType() == IResource.FILE) {
-            Label label = createLabel(panel, MessageUtil.getString("File_name")); //$NON-NLS-1$
-            label = createLabel(panel, resource.getName());
-            grabExcessSpace(label);
-
-            //
-            createLabel(panel, MessageUtil.getString("Path")); //$NON-NLS-1$
-            label = createLabel(panel, resource.getFullPath().setDevice(null)
-                    .toString());
-            grabExcessSpace(label);
-
-            //
-            createLabel(panel, MessageUtil.getString("Size")); //$NON-NLS-1$
-            InputStream contentStream = null;
-            try {
-                IFile file = (IFile) resource;
-                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();
-                label = createLabel(panel, Integer.toString(buffer.length()));
-            } catch (CoreException e) {
-                result = e.getStatus();
-                String message = result.getMessage();
-                if (message == null)
-                    label = createLabel(panel, MessageUtil.getString("<Unknown>")); //$NON-NLS-1$
-                else
-                    label = createLabel(panel, message);
-            } catch (IOException e) {
-                label = createLabel(panel, MessageUtil.getString("<Unknown>")); //$NON-NLS-1$
-            } finally {
-                if (contentStream != null) {
-                    try {
-                        contentStream.close();
-                    } catch (IOException e) {
-                        // do nothing
-                    }
-                }
-            }
-            grabExcessSpace(label);
-            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;
-                label = createLabel(panel, String.valueOf(list.size()));
-                grabExcessSpace(label);
-            }
-        }
-
-        //
-        Label label = createLabel(panel, MessageUtil
-                .getString("Additional_information")); //$NON-NLS-1$
-        grabExcessSpace(label);
-        GridData gd = (GridData) label.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);
-        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 dd2ee3a..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage2.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-
-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.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-/**
- * 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);
-
-        PlatformUI.getWorkbench().getHelpSystem().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;
-                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) {
-                // do nothing
-            } finally {
-                if (contentStream != null) {
-                    try {
-                        contentStream.close();
-                    } catch (IOException e) {
-                        // do nothing
-                    }
-                }
-            }
-
-            if (length < 256)
-                return 1;
-            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 8c1ce7a..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeImages.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Joe Bowbeer (jozart@blarg.net) - removed dependency on runtime compatibility layer (bug 74526)
- *******************************************************************************/
-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().getBundle().getEntry("/"); //$NON-NLS-1$
-
-    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) {
-            // do nothing
-        }
-        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 5bd3108..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeMarkerResolutionGenerator.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 641735d..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeModelFactory.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Joe Bowbeer (jozart@blarg.net) - removed dependency on runtime compatibility layer (bug 74526)
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-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() {
-        // do nothing
-    }
-
-    /**
-     * 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() {
-        IExtensionPoint point = Platform.getExtensionRegistry().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 6c67f57..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePlugin.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Joe Bowbeer (jozart@blarg.net) - removed dependency on runtime compatibility layer (bug 74528)
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-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 {
-    
-    public static final String PLUGIN_ID = "org.eclipse.ui.examples.readmetool"; //$NON-NLS-1$
-    
-    /**
-     * Default instance of the receiver
-     */ 
-    private static ReadmePlugin inst;
-
-    /**
-     * Creates the Readme plugin and caches its default instance
-     */
-    public ReadmePlugin() {
-        if (inst == null)
-            inst = this;
-    }
-
-    /**
-     * Gets the plugin singleton.
-     *
-     * @return the default ReadmePlugin instance
-     */
-    static public ReadmePlugin getDefault() {
-        return inst;
-    }
-
-}
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePreferenceInitializer.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePreferenceInitializer.java
deleted file mode 100644
index 6df33ad..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePreferenceInitializer.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-/**
- * Initializes the preferences for the readme plug-in.
- * 
- * @since 3.0
- */
-public class ReadmePreferenceInitializer extends AbstractPreferenceInitializer {
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-     */
-    public void initializeDefaultPreferences() {
-        // These settings will show up when the Readme preference page
-        // is shown for the first time.
-        IPreferenceStore store = ReadmePlugin.getDefault().getPreferenceStore();
-        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 ba8d286..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePreferencePage.java
+++ /dev/null
@@ -1,359 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * 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) {
-    	PlatformUI.getWorkbench().getHelpSystem().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 workbench.
-     */
-    protected IPreferenceStore doGetPreferenceStore() {
-        return ReadmePlugin.getDefault().getPreferenceStore();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchPreferencePage
-     */
-    public void init(IWorkbench workbench) {
-        // do nothing
-    }
-
-    /**
-     * 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 249ee5a..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeSectionsView.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.PlatformUI;
-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);
-
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(),
-				IReadmeConstants.SECTIONS_VIEW_CONTEXT);
-
-        // if the objects in the viewer implement IWorkbenchAdapter,
-        // 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/ReadmeTrimWidget.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeTrimWidget.java
deleted file mode 100644
index f9fd660..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeTrimWidget.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.menus.AbstractWorkbenchTrimWidget;
-
-
-/**
- * Readme example Trim contribution widget. This is contributed to
- * the trim throught the use of the <code>org.eclipse.ui.menus</code>
- * extension point.
- * 
- * @since 3.2
- *
- */
-public class ReadmeTrimWidget extends AbstractWorkbenchTrimWidget {
-
-	/**
-	 * Cache the current trim so we can 'dispose' it on demand
-	 */
-	private Composite comp = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.menus.AbstractTrimWidget#dispose()
-	 * 
-	 * Dispose the current trim widget (if any)
-	 */
-	public void dispose() {
-		if (comp != null && !comp.isDisposed())
-			comp.dispose();
-		comp = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.menus.AbstractTrimWidget#fill(org.eclipse.swt.widgets.Composite, int, int)
-	 */
-	public void fill(Composite parent, int oldSide, int newSide) {
-		// Create a composite to place the label in 
-		comp = new Composite(parent, SWT.NONE);
-		
-		// Give some room around the control
-		FillLayout layout = new FillLayout();
-		layout.marginHeight = 4;
-		layout.marginWidth  = 2;
-		comp.setLayout(layout);
-		
-		// Create a label for the trim. 
-		Label dsCtrl = new Label (comp, SWT.BORDER | SWT.CENTER);
-		dsCtrl.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_DARK_GREEN));
-		dsCtrl.setForeground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
-		
-		// Check the side and set up the string accordingly. At this point is
-		// we you should implement a 'vertical' layout to use when docked on
-		// the LEFT or the RIGHT side but the code to do rotations is overly
-		// complex for this example.
-		String sideStr = ""; //$NON-NLS-1$
-		if (newSide == SWT.LEFT) sideStr = "Left"; //$NON-NLS-1$
-		if (newSide == SWT.RIGHT) sideStr = "Right"; //$NON-NLS-1$
-		if (newSide == SWT.TOP) sideStr = "Top"; //$NON-NLS-1$
-		if (newSide == SWT.BOTTOM) sideStr = "Bottom"; //$NON-NLS-1$
-		
-		dsCtrl.setText("  Read Me Trim (" + sideStr + ")  "); //$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/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 670bdb5..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/SectionsDialog.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-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 workbench.
- */
-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$
-        PlatformUI.getWorkbench().getHelpSystem().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 a0ba8ad..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ViewActionDelegate.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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) {
-        // do nothing
-    }
-}
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 7438d70..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/WindowActionDelegate.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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 
- * workbench 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() {
-        // do nothing
-    }
-
-    /* (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 c1a6d7c..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, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-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 &
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/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.readmetool/META-INF/MANIFEST.MF
deleted file mode 100644
index b5e3998..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.ui.examples.readmetool; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-ClassPath: readmetool.jar
-Bundle-Activator: org.eclipse.ui.examples.readmetool.ReadmePlugin
-Bundle-Vendor: %Plugin.providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.ui.views,
- org.eclipse.ui.ide,
- org.eclipse.jface.text,
- org.eclipse.text,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.ui.editors
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.ui.examples.readmetool
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 4602330..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</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 e23fed7..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/build.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.readmetool.jar = Eclipse UI Examples Readme Tool/
-
-bin.includes = doc/,\
-               doc-html/,\
-               icons/,\
-               about.html,\
-               doc.zip,\
-               HelpContexts.xml,\
-               plugin.properties,\
-               plugin.xml,\
-               *.jar,\
-               META-INF/
-
-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 a41081e..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc-html/hglegal.htm
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <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/ui_readmetool_ex.html b/examples/org.eclipse.ui.examples.readmetool/doc-html/ui_readmetool_ex.html
deleted file mode 100644
index e624f8b..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc-html/ui_readmetool_ex.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Workbench - 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.
-
-</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 a41081e..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc/hglegal.htm
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <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/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 986462a..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc/org_eclipse_ui_examples_readmetool.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <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>
-
-</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 b197e80..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 name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <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.
-
-</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 556ff91..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/plugin.properties
+++ /dev/null
@@ -1,42 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-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
-CmdLabel=Test Trim Cmd
-Trim.item=Trim Item
-TrimItem.toolTip=TrimItem ToolTip
-Trim2.item=Trim Item 2
-TrimItem2.toolTip=TrimItem 2 ToolTip
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 ecad4d2..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/plugin.xml
+++ /dev/null
@@ -1,423 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    
-<!-- ================================================================== -->
-<!--         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="false"
-            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="$nl$/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="$nl$/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="$nl$/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="$nl$/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="$nl$/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="$nl$/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
-            name="%PropertiesPage.filePage"
-            nameFilter="*.readme"
-            class="org.eclipse.ui.examples.readmetool.ReadmeFilePropertyPage"
-            id="org.eclipse.ui.examples.readmetool.FilePage">
-         <enabledWhen>
-            <instanceof
-                  value="org.eclipse.core.resources.IFile">
-            </instanceof>
-         </enabledWhen>
-      </page>
-      <page
-            name="%PropertiesPage.filePage2"
-            nameFilter="*.readme"
-            class="org.eclipse.ui.examples.readmetool.ReadmeFilePropertyPage2"
-            id="org.eclipse.ui.examples.readmetool.FilePage2">
-         <enabledWhen>
-            <instanceof
-                  value="org.eclipse.core.resources.IFile">
-            </instanceof>
-         </enabledWhen>
-      </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="$nl$/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="$nl$/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="$nl$/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="$nl$/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>
-   <extension
-         point="org.eclipse.core.runtime.preferences">
-      <initializer class="org.eclipse.ui.examples.readmetool.ReadmePreferenceInitializer"/>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation targetID="org_eclipse_ui_examples_readmetool_actionSet">
-         <part id="org.eclipse.ui.examples.readmetool.ReadmeEditor"/>
-      </actionSetPartAssociation>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.menus">
-      <menuContribution
-            locationURI="toolbar:org.eclipse.ui.trim.status">
-         <toolbar
-               id="org.eclipse.ui.examples.readmetool.verticalTrim">
-            <command
-                  commandId="org.eclipse.ui.examples.readmetool.item2"
-                  icon="icons/obj16/editor.gif"
-                  id="readmeTool.trimItem"
-                  label="%Trim.item"
-                  style="push"
-                  tooltip="%TrimItem.toolTip">
-            </command>
-            <control
-                  class="org.eclipse.ui.examples.readmetool.ReadmeControlContribution"
-                  id="readmeTool.controlContrib1">
-            </control>
-            <command
-                  commandId="org.eclipse.ui.examples.readmetool.item2"
-                  icon="icons/obj16/editor.gif"
-                  id="readmeTool.trimItem2"
-                  label="%Trim2.item"
-                  style="push"
-                  tooltip="%TrimItem2.toolTip">
-            </command>
-         </toolbar>
-      </menuContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            id="org.eclipse.ui.examples.readmetool.item2"
-            name="%CmdLabel">
-      </command>
-   </extension>
-
-
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.undo/.classpath b/examples/org.eclipse.ui.examples.undo/.classpath
deleted file mode 100644
index a3734f5..0000000
--- a/examples/org.eclipse.ui.examples.undo/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="Eclipse UI Examples Undo"/>
-	<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.undo/.cvsignore b/examples/org.eclipse.ui.examples.undo/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.ui.examples.undo/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.ui.examples.undo/.project b/examples/org.eclipse.ui.examples.undo/.project
deleted file mode 100644
index bfd3d88..0000000
--- a/examples/org.eclipse.ui.examples.undo/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.undo</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/examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b325f3b..0000000
--- a/examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Jan 15 21:20:44 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 0cb7d76..0000000
--- a/examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Tue Oct 18 15:15:38 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index a26a239..0000000
--- a/examples/org.eclipse.ui.examples.undo/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Oct 18 16:45:19 EDT 2005
-compilers.p.deprecated=0
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/AddBoxOperation.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/AddBoxOperation.java
deleted file mode 100644
index 549f659..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/AddBoxOperation.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo;
-
-import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.widgets.Canvas;
-
-/**
- * An operation that adds a box.
- */
-public class AddBoxOperation extends BoxOperation {
-
-	/**
-	 * Create a box
-	 * @param label
-	 * @param context
-	 * @param boxes
-	 * @param box
-	 * @param canvas
-	 */
-	public AddBoxOperation(String label, IUndoContext context, Boxes boxes, Box box, Canvas canvas) {
-		super(label, context, boxes, box, canvas);
-	}
-
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) {
-		boxes.add(box);
-		canvas.redraw(box.x1, box.y1, box.x2, box.y2, false);
-		return Status.OK_STATUS;
-	}
-	
-	public boolean canUndo() {
-		return boxes.contains(box);
-	}
-	
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) {
-		boxes.remove(box);
-		canvas.redraw(box.x1, box.y1, box.x2, box.y2, false);
-		return Status.OK_STATUS;
-	}
-	
-	public boolean canRedo() {
-		return !boxes.contains(box);
-	}
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) {
-		return execute(monitor, info);
-	}
-
-
-
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/Box.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/Box.java
deleted file mode 100644
index cff1a4d..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/Box.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo;
-
-
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-
-/**
- * 2D Box that can move itself, hit-test, and draw.
- */
-public class Box  {
-	
-	/*
-	 * The location of the box.
-	 */
-	public int x1, y1, x2, y2;
-	
-	/*
-	 * Constructs a box, defined by any two diametrically 
-	 * opposing corners.
-	 */
-	public Box(int x1, int y1, int x2, int y2) {
-		super();
-		set(x1, y1, x2, y2);
-	}
-	
-	/*
-	 * Move the box to a new origin.
-	 */
-	public void move(Point origin) {
-		set(origin.x, origin.y, origin.x + getWidth(), origin.y + getHeight());
-	}
-	
-	/*
-	 * Draw the box with the specified gc.
-	 */
-	public void draw(GC gc) {
-		gc.drawRectangle(x1, y1, x2-x1, y2-y1);
-	}
-	
-	/*
-	 * Set the position of the box
-	 */
-	private void set(int x1, int y1, int x2, int y2) {
-		this.x1 = Math.min(x1, x2);
-		this.y1 = Math.min(y1, y2);
-		this.x2 = Math.max(x1, x2);
-		this.y2 = Math.max(y1, y2);
-	}
-	
-	/*
-	 * Return true if this box contains the point specified by
-	 * the x and y.
-	 */
-	public boolean contains(int x, int y) {
-		return x >= x1 && 
-			x <= x2 && 
-			y >= y1 && 
-			y <= y2;
-	}
-	
-	/*
-	 * Answer the width of the box
-	 */
-	public int getWidth() {
-		return x2 - x1;
-	}
-	
-	/*
-	 * Answer the height of the box
-	 */
-	public int getHeight() {
-		return y2 - y1;
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/BoxOperation.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/BoxOperation.java
deleted file mode 100644
index a0524eb..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/BoxOperation.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo;
-
-import org.eclipse.core.commands.operations.AbstractOperation;
-import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Canvas;
-
-/**
- * An undoable operation that represents a change to a box.
- */
-public abstract class BoxOperation extends AbstractOperation {
-	
-	/*
-	 * The box involved in the operation
-	 */
-	Box box;
-	
-	/*
-	 * The group of boxes involved in the operation
-	 */
-	Boxes boxes;
-	
-	/*
-	 * The canvas to update or draw on during an operation
-	 */
-	Canvas canvas;
-
-	public BoxOperation(String label, IUndoContext undoContext, Boxes boxes, Box box, Canvas canvas) {
-		super (label);
-		addContext(undoContext);
-		this.boxes = boxes;
-		this.box = box;
-		this.canvas = canvas;
-	}
-	
-	/*
-	 * Show the specified prompt in an info dialog.
-	 */
-	void showMessage(String message) {
-		MessageDialog.openInformation(canvas.getShell(),
-				UndoExampleMessages.BoxView_Title, message);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/Boxes.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/Boxes.java
deleted file mode 100644
index f299237..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/Boxes.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.swt.graphics.GC;
-
-/**
- * A collection of boxes
- */
-public class Boxes  {
-	
-	/*
-	 * The "model," a list of boxes
-	 */
-	private List boxes = new ArrayList();
-	
-	/*
-	 * Constructs a box collection
-	 */
-	public Boxes() {
-		super();
-	}
-	
-	/*
-	 * Add the specified box to the group of boxes.
-	 */
-	public void add(Box box) {
-		boxes.add(box);
-	}
-	
-	/*
-	 * Remove the specified box from the group of boxes.
-	 */
-	public void remove(Box box) {
-		boxes.remove(box);
-	}
-	
-	/*
-	 * Clear all the boxes from the list of boxes.
-	 */
-	public void clear() {
-		boxes = new ArrayList();
-	}
-	
-	/*
-	 * Return true if the group of boxes contains the specified box.
-	 */
-	public boolean contains(Box box) {
-		return boxes.contains(box);
-	}
-	
-	/*
-	 * Draw the boxes with the specified gc.
-	 */
-	public void draw(GC gc) {
-		for (int i = 0; i < boxes.size(); i++) {
-			((Box) boxes.get(i)).draw(gc);
-		}
-	}
-		
-	/*
-	 * Return the box containing the specified x and y, or null
-	 * if no box contains the point.
-	 */
-	public Box getBox(int x, int y) {
-		for (int i=0; i< boxes.size(); i++) {
-			Box box = (Box)boxes.get(i);
-			if (box.contains(x, y)) {
-				return box;
-			}
-		}
-		return null;
-	}
-	
-	/*
-	 * Return the list of boxes known by this group of boxes.
-	 */
-	public List getBoxes() {
-		return boxes;
-	}
-	
-	/*
-	 * Set the list of boxes known by this group of boxes.
-	 */
-	public void setBoxes(List boxes) {
-		this.boxes = boxes;
-	}
-	
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/ClearBoxesOperation.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/ClearBoxesOperation.java
deleted file mode 100644
index bd4d84e..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/ClearBoxesOperation.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.widgets.Canvas;
-
-/**
- * An operation that adds a box.
- */
-public class ClearBoxesOperation extends BoxOperation {
-
-	/*
-	 * The boxes that are saved after clearing
-	 */
-	private List savedBoxes = new ArrayList();
-	
-	public ClearBoxesOperation(String label, IUndoContext context, Boxes boxes, Canvas canvas) {
-		super(label, context, boxes, null, canvas);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info){
-		savedBoxes = boxes.getBoxes();
-		boxes.clear();
-		canvas.redraw();
-		return Status.OK_STATUS;
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) {
-		return execute(monitor, info);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) {
-		boxes.setBoxes(savedBoxes);
-		canvas.redraw();
-		return Status.OK_STATUS;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/MoveBoxOperation.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/MoveBoxOperation.java
deleted file mode 100644
index 714d380..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/MoveBoxOperation.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Canvas;
-
-/**
- * An operation that adds a box.
- */
-public class MoveBoxOperation extends BoxOperation {
-
-	/*
-	 * The point the box should move to/from.
-	 */
-	private Point origin;
-	private Point target;
-	
-	public MoveBoxOperation(String label, IUndoContext context, Box box, Canvas canvas, Point newOrigin) {
-		super(label, context, null, box, canvas);
-		origin = new Point(box.x1, box.y1);
-		target = new Point(newOrigin.x, newOrigin.y);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info)
-			throws ExecutionException {
-		if (box==null) {
-			throw new ExecutionException("box ix null");
-		}
-		box.move(target);
-		canvas.redraw();
-		return Status.OK_STATUS;
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info)
-			throws ExecutionException {
-		return execute(monitor, info);
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info)
-			throws ExecutionException {
-		if (box==null) {
-			throw new ExecutionException("box ix null");
-		}
-		box.move(origin);
-		canvas.redraw();
-		return Status.OK_STATUS;
-	}
-	
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#getLabel()
-	 */
-	public String getLabel() {
-		final StringBuffer stringBuffer = new StringBuffer();
-		stringBuffer.append(super.getLabel());
-		stringBuffer.append("["); //$NON-NLS-1$
-		stringBuffer.append("("); //$NON-NLS-1$
-		stringBuffer.append(new Integer(origin.x).toString());
-		stringBuffer.append(", "); //$NON-NLS-1$
-		stringBuffer.append(new Integer(origin.y).toString());
-		stringBuffer.append(')');
-		stringBuffer.append(", "); //$NON-NLS-1$
-		stringBuffer.append("("); //$NON-NLS-1$
-		stringBuffer.append(new Integer(target.x).toString());
-		stringBuffer.append(", "); //$NON-NLS-1$
-		stringBuffer.append(new Integer(target.y).toString());
-		stringBuffer.append(')');
-		stringBuffer.append(']');
-		return stringBuffer.toString();
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/PromptingUserApprover.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/PromptingUserApprover.java
deleted file mode 100644
index 4cd9023..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/PromptingUserApprover.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo;
-
-import org.eclipse.core.commands.operations.IOperationApprover;
-import org.eclipse.core.commands.operations.IOperationHistory;
-import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.window.Window;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.examples.undo.preferences.PreferenceConstants;
-
-/**
- * An operation approver that prompts the user to see whether an undo or redo
- * should continue. An example preference is checked to determine if prompting
- * should occur.
- */
-public final class PromptingUserApprover implements IOperationApprover {
-
-	private IUndoContext context;
-
-	/*
-	 * Create the operation approver.
-	 */
-	public PromptingUserApprover(IUndoContext context) {
-		super();
-		this.context = context;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.commands.operations.IOperationApprover#proceedRedoing(org.eclipse.core.commands.operations.IUndoableOperation,
-	 *      org.eclipse.core.commands.operations.IOperationHistory,
-	 *      org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus proceedRedoing(IUndoableOperation operation,
-			IOperationHistory history, IAdaptable uiInfo) {
-
-		// return immediately if the operation is not relevant
-		if (!operation.hasContext(context))
-			return Status.OK_STATUS;
-
-		// allow the operation if we are not prompting
-		boolean prompt = UndoPlugin.getDefault().getPreferenceStore()
-				.getBoolean(PreferenceConstants.PREF_CONFIRMUNDO);
-		if (!prompt)
-			return Status.OK_STATUS;
-		return prompt(false, operation, uiInfo);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.commands.operations.IOperationApprover#proceedUndoing(org.eclipse.core.commands.operations.IUndoableOperation,
-	 *      org.eclipse.core.commands.operations.IOperationHistory,
-	 *      org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus proceedUndoing(IUndoableOperation operation,
-			IOperationHistory history, IAdaptable uiInfo) {
-
-		// return immediately if the operation is not relevant
-		if (!operation.hasContext(context))
-			return Status.OK_STATUS;
-
-		// allow the operation if we are not prompting
-		boolean prompt = UndoPlugin.getDefault().getPreferenceStore()
-				.getBoolean(PreferenceConstants.PREF_CONFIRMUNDO);
-		if (!prompt)
-			return Status.OK_STATUS;
-		return prompt(true, operation, uiInfo);
-	}
-
-	/*
-	 * Prompt the user as to whether to continue the undo or redo, and return an
-	 * OK_STATUS if we should continue, or a CANCEL_STATUS if we should not.
-	 */
-	private IStatus prompt(boolean undoing, IUndoableOperation operation,
-			IAdaptable uiInfo) {
-		boolean createdShell = false;
-		Shell shell = getShell(uiInfo);
-		if (shell == null) {
-			if (shell == null) {
-				createdShell = true;
-				shell = new Shell();
-			}
-		}
-		String command = undoing ? UndoExampleMessages.BoxView_Undo
-				: UndoExampleMessages.BoxView_Redo;
-		String message = NLS.bind(UndoExampleMessages.BoxView_ConfirmUndo, command,
-				operation.getLabel());
-		MessageDialogWithToggle dialog = MessageDialogWithToggle
-				.openOkCancelConfirm(shell, UndoExampleMessages.BoxView_Title,
-						message, UndoExampleMessages.UndoPreferences_DoNotConfirm, false, null, null);
-		UndoPlugin.getDefault().getPreferenceStore().setValue(PreferenceConstants.PREF_CONFIRMUNDO, !dialog.getToggleState());
-
-		if (createdShell)
-			shell.dispose();
-		if (dialog.getReturnCode() == Window.OK)
-			return Status.OK_STATUS;
-		return Status.CANCEL_STATUS;
-	}
-
-	/*
-	 * Return the shell described by the supplied uiInfo, or null if no shell is
-	 * described.
-	 */
-	Shell getShell(IAdaptable uiInfo) {
-		if (uiInfo != null) {
-			Shell shell = (Shell) uiInfo.getAdapter(Shell.class);
-			if (shell != null)
-				return shell;
-		}
-		return null;
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/UndoExampleMessages.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/UndoExampleMessages.java
deleted file mode 100644
index 678524a..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/UndoExampleMessages.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.examples.undo;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Message class for the undo example.
- *
- */
-public class UndoExampleMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.ui.examples.undo.messages";//$NON-NLS-1$
-
-	public static String UndoPreferences_Description;
-	public static String UndoPreferences_HistoryLimit;
-	public static String UndoPreferences_ConfirmUndo;
-	public static String UndoPreferences_ShowDebug;
-	public static String UndoPreferences_DoNotConfirm;
-	
-	public static String UndoHistoryView_ContextFilterDialog;
-	public static String UndoHistoryView_ChooseContextMessage;
-	public static String UndoHistoryView_FilterText;
-	public static String UndoHistoryView_FilterToolTipText;
-	public static String UndoHistoryView_OperationInvalid;
-	public static String UndoHistoryView_OperationException;
-	public static String UndoHistoryView_UndoSelected;
-	public static String UndoHistoryView_UndoSelectedToolTipText;
-	public static String UndoHistoryView_RefreshList;
-	public static String UndoHistoryView_RefreshListToolTipText;
-	public static String UndoHistoryView_InfoDialogTitle;
-
-	public static String BoxView_Title;
-	public static String BoxView_ClearBoxes;
-	public static String BoxView_ClearBoxesToolTipText;
-	public static String BoxView_Move;
-	public static String BoxView_Add;
-	public static String BoxView_ConfirmUndo;
-	public static String BoxView_Undo;
-	public static String BoxView_Redo;
-	
-    static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, UndoExampleMessages.class);
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/UndoPlugin.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/UndoPlugin.java
deleted file mode 100644
index 8180980..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/UndoPlugin.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo;
-
-import org.eclipse.ui.plugin.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class UndoPlugin extends AbstractUIPlugin {
-
-	//The shared instance.
-	private static UndoPlugin plugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public UndoPlugin() {
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static UndoPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path.
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.ui.examples.undo2", path);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/messages.properties b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/messages.properties
deleted file mode 100644
index 2c2dad1..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/messages.properties
+++ /dev/null
@@ -1,41 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-########### Undo Preferences ###########################
-UndoPreferences_Description = Undo Example Preferences
-UndoPreferences_HistoryLimit = Undo history limit
-UndoPreferences_ConfirmUndo = Confirm all undo operations
-UndoPreferences_ShowDebug = Show debug labels in undo history view
-UndoPreferences_DoNotConfirm = Do not prompt for undo or redo again
-
-########### Undo History View ##########################
-UndoHistoryView_ContextFilterDialog = Context Filter Dialog
-UndoHistoryView_ChooseContextMessage = Choose the Context for the view
-UndoHistoryView_FilterText = Filter on...
-UndoHistoryView_FilterToolTipText = Set the undo context used to filter the operation history
-UndoHistoryView_UndoSelected = Undo selected
-UndoHistoryView_UndoSelectedToolTipText = Undo the selected operation
-UndoHistoryView_RefreshList = Refresh list
-UndoHistoryView_RefreshListToolTipText = Refresh and redraw the list
-UndoHistoryView_OperationInvalid = The selected operation cannot be undone in its current state
-UndoHistoryView_OperationException = An error occurred while trying to undo this operation
-UndoHistoryView_InfoDialogTitle = Undo History Example Information
-
-########### Box View ##########################
-BoxView_Title = Box View
-BoxView_ClearBoxes = Delete all boxes
-BoxView_ClearBoxesToolTipText = Delete all of the boxes from the view
-BoxView_Move = Move Box
-BoxView_Add = Add Box
-BoxView_ConfirmUndo = Are you sure you want to {0} "{1}"?
-BoxView_Undo = Undo
-BoxView_Redo = Redo
-
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/PreferenceConstants.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/PreferenceConstants.java
deleted file mode 100644
index 209f680..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/PreferenceConstants.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo.preferences;
-
-/**
- * Constant definitions for plug-in preferences
- */
-public class PreferenceConstants {
-
-	public static final String PREF_UNDOLIMIT = "prefUndoLimit";
-	public static final String PREF_SHOWDEBUG = "prefShowDebug";
-	public static final String PREF_CONFIRMUNDO = "prefConfirmUndo";
-	
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/PreferenceInitializer.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/PreferenceInitializer.java
deleted file mode 100644
index b706daf..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/PreferenceInitializer.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.eclipse.ui.examples.undo.UndoPlugin;
-
-/**
- * Class used to initialize default preference values.
- */
-public class PreferenceInitializer extends AbstractPreferenceInitializer {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		IPreferenceStore store = UndoPlugin.getDefault()
-				.getPreferenceStore();
-		store.setDefault(PreferenceConstants.PREF_CONFIRMUNDO, true);
-		store.setDefault(PreferenceConstants.PREF_UNDOLIMIT,
-				25);
-		store.setDefault(PreferenceConstants.PREF_SHOWDEBUG, false);
-		
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/UndoPreferencePage.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/UndoPreferencePage.java
deleted file mode 100644
index df35f35..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/preferences/UndoPreferencePage.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo.preferences;
-
-import org.eclipse.jface.preference.*;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.examples.undo.UndoExampleMessages;
-import org.eclipse.ui.examples.undo.UndoPlugin;
-
-/**
- * This class is used to define preferences that control how
- * undo occurs.  It demonstrates the use of preferences to configure
- * the operation history in different ways.
- */
-
-public class UndoPreferencePage
-	extends FieldEditorPreferencePage
-	implements IWorkbenchPreferencePage {
-
-	public UndoPreferencePage() {
-		super(GRID);
-		setPreferenceStore(UndoPlugin.getDefault().getPreferenceStore());
-		setDescription(UndoExampleMessages.UndoPreferences_Description);
-	}
-	
-	/**
-	 * Creates the field editors. 
-	 */
-	public void createFieldEditors() {
-		
-		addField(
-				new IntegerFieldEditor(
-					PreferenceConstants.PREF_UNDOLIMIT,
-					UndoExampleMessages.UndoPreferences_HistoryLimit,
-					getFieldEditorParent()));
-
-		addField(
-				new BooleanFieldEditor(
-					PreferenceConstants.PREF_SHOWDEBUG,
-					UndoExampleMessages.UndoPreferences_ShowDebug,
-					getFieldEditorParent()));
-
-		addField(
-			new BooleanFieldEditor(
-				PreferenceConstants.PREF_CONFIRMUNDO,
-				UndoExampleMessages.UndoPreferences_ConfirmUndo,
-				getFieldEditorParent()));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-	
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/views/BoxView.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/views/BoxView.java
deleted file mode 100644
index 761bc9a..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/views/BoxView.java
+++ /dev/null
@@ -1,462 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo.views;
-
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.examples.undo.AddBoxOperation;
-import org.eclipse.ui.examples.undo.Box;
-import org.eclipse.ui.examples.undo.Boxes;
-import org.eclipse.ui.examples.undo.ClearBoxesOperation;
-import org.eclipse.ui.examples.undo.MoveBoxOperation;
-import org.eclipse.ui.examples.undo.PromptingUserApprover;
-import org.eclipse.ui.examples.undo.UndoExampleMessages;
-import org.eclipse.ui.examples.undo.UndoPlugin;
-import org.eclipse.ui.examples.undo.preferences.PreferenceConstants;
-import org.eclipse.ui.operations.RedoActionHandler;
-import org.eclipse.ui.operations.UndoActionHandler;
-import org.eclipse.ui.part.ViewPart;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.IOperationApprover;
-import org.eclipse.core.commands.operations.IOperationHistory;
-import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.core.commands.operations.ObjectUndoContext;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.SWT;
-
-public class BoxView extends ViewPart {
-	/*
-	 * The canvas to paint the boxes on.
-	 */
-	private Canvas paintCanvas;
-
-	/*
-	 * The gc used for drawing the rubber band.
-	 */
-	private GC gc;
-
-	/*
-	 * The model, a group of boxes
-	 */
-	private Boxes boxes = new Boxes();
-
-	/*
-	 * Undo and redo actions
-	 */
-	private UndoActionHandler undoAction;
-
-	private RedoActionHandler redoAction;
-
-	private IAction clearBoxesAction;
-
-	/*
-	 * Private undo context for box operations
-	 */
-	private IUndoContext undoContext;
-
-	/*
-	 * Operation approver for approving undo and redo
-	 */
-	private IOperationApprover operationApprover;
-
-	/*
-	 * Property change listener for the undo limit preference.
-	 */
-	private IPropertyChangeListener propertyChangeListener;
-
-	/*
-	 * True if a click-drag is in progress
-	 */
-	private boolean dragInProgress = false;
-
-	/*
-	 * True if a click-move is in progress
-	 */
-	private boolean moveInProgress = false;
-
-	/*
-	 * The box that is being moved.
-	 */
-	private Box movingBox;
-
-	/*
-	 * The diff between a moving box and the track position.
-	 */
-	int diffX, diffY;
-
-	/*
-	 * The position of the first click in a click-drag
-	 */
-	private Point anchorPosition = new Point(-1, -1);
-
-	/*
-	 * A temporary point in a drag or move operation
-	 */
-	private Point tempPosition = new Point(-1, -1);
-
-	/*
-	 * The rubber band position (the last recorded temp position)
-	 */
-	private Point rubberbandPosition = new Point(-1, -1);
-
-	/*
-	 * Construct a BoxView.
-	 */
-	public BoxView() {
-		super();
-		initializeOperationHistory();
-	}
-
-	/*
-	 * Create the canvas on which boxes are drawn and hook up all actions and
-	 * listeners.
-	 */
-	public void createPartControl(Composite parent) {
-		paintCanvas = new Canvas(parent, SWT.BORDER | SWT.V_SCROLL
-				| SWT.H_SCROLL | SWT.NO_REDRAW_RESIZE);
-
-		// set up a GC for drawing the tracking rectangle
-		gc = new GC(paintCanvas);
-		gc.setForeground(paintCanvas.getForeground());
-		gc.setLineStyle(SWT.LINE_SOLID);
-
-		// add listeners
-		addListeners();
-
-		// create actions and hook them up to the menus and toolbar
-		makeActions();
-		hookContextMenu();
-		createGlobalActionHandlers();
-		contributeToActionBars();
-	}
-
-	/*
-	 * Add listeners to the canvas.
-	 */
-	private void addListeners() {
-		paintCanvas.addMouseListener(new MouseAdapter() {
-			public void mouseDown(MouseEvent event) {
-				if (event.button != 1)
-					return;
-				if (dragInProgress || moveInProgress)
-					return; // spurious event
-
-				tempPosition.x = event.x;
-				tempPosition.y = event.y;
-				Box box = boxes.getBox(event.x, event.y);
-				if (box != null) {
-					moveInProgress = true;
-					movingBox = box;
-					anchorPosition.x = box.x1;
-					anchorPosition.y = box.y1;
-					diffX = event.x - box.x1;
-					diffY = event.y - box.y1;
-				} else {
-					dragInProgress = true;
-					anchorPosition.x = event.x;
-					anchorPosition.y = event.y;
-				}
-			}
-
-			public void mouseUp(MouseEvent event) {
-				if (event.button != 1) {
-					resetDrag(true); // abort if right or middle mouse button
-					// pressed
-					return;
-				}
-				if (anchorPosition.x == -1)
-					return; // spurious event
-
-				if (dragInProgress) {
-					Box box = new Box(anchorPosition.x, anchorPosition.y,
-							tempPosition.x, tempPosition.y);
-					if (box.getWidth() > 0 && box.getHeight() > 0) {
-						try {
-							getOperationHistory().execute(
-									new AddBoxOperation(
-											UndoExampleMessages.BoxView_Add,
-											undoContext, boxes, box, paintCanvas),
-									null, null);
-						} catch (ExecutionException e) {
-						}
-						dragInProgress = false;
-					}
-				} else if (moveInProgress) {
-					try {
-						getOperationHistory().execute(
-								new MoveBoxOperation(
-										UndoExampleMessages.BoxView_Move,
-										undoContext, movingBox, paintCanvas,
-										anchorPosition), null, null);
-					} catch (ExecutionException e) {
-					}
-					moveInProgress = false;
-					movingBox = null;
-				}
-				resetDrag(false);
-
-				// redraw everything to clean up the tracking rectangle
-				paintCanvas.redraw();
-			}
-
-			public void mouseDoubleClick(MouseEvent event) {
-			}
-		});
-		paintCanvas.addMouseMoveListener(new MouseMoveListener() {
-			public void mouseMove(MouseEvent event) {
-				if (dragInProgress) {
-					clearRubberBandSelection();
-					tempPosition.x = event.x;
-					tempPosition.y = event.y;
-					addRubberBandSelection();
-				} else if (moveInProgress) {
-					clearRubberBandSelection();
-					anchorPosition.x = event.x - diffX;
-					anchorPosition.y = event.y - diffY;
-					tempPosition.x = anchorPosition.x + movingBox.getWidth();
-					tempPosition.y = anchorPosition.y + movingBox.getHeight();
-					addRubberBandSelection();
-				}
-			}
-		});
-		paintCanvas.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent event) {
-				event.gc.setForeground(paintCanvas.getForeground());
-				boxes.draw(event.gc);
-			}
-		});
-
-		paintCanvas.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				// dispose the gc
-				gc.dispose();
-				// dispose listeners
-				removeListeners();
-			}
-		});
-
-		// listen for a change in the undo limit
-		propertyChangeListener = new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getProperty() == PreferenceConstants.PREF_UNDOLIMIT) {
-					int limit = UndoPlugin.getDefault().getPreferenceStore()
-							.getInt(PreferenceConstants.PREF_UNDOLIMIT);
-					getOperationHistory().setLimit(undoContext, limit);
-				}
-			}
-		};
-		UndoPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(
-				propertyChangeListener);
-
-	}
-
-	/*
-	 * Remove listeners that were registered. Since the control is being
-	 * disposed, we are only removing non-control listeners.
-	 */
-	private void removeListeners() {
-		UndoPlugin.getDefault().getPreferenceStore()
-				.removePropertyChangeListener(propertyChangeListener);
-		getOperationHistory().removeOperationApprover(operationApprover);
-	}
-
-	/*
-	 * Hook a listener on the menu showing so we can fill the context menu with
-	 * our actions.
-	 */
-	private void hookContextMenu() {
-		MenuManager menuMgr = new MenuManager("#PopupMenu");
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				BoxView.this.fillContextMenu(manager);
-			}
-		});
-		Menu menu = menuMgr.createContextMenu(paintCanvas);
-		paintCanvas.setMenu(menu);
-	}
-
-	/*
-	 * Add our actions to the action bars.
-	 */
-	private void contributeToActionBars() {
-		IActionBars bars = getViewSite().getActionBars();
-		fillLocalPullDown(bars.getMenuManager());
-		fillLocalToolBar(bars.getToolBarManager());
-	}
-
-	/*
-	 * Add our undo and redo actions to the local pulldown.
-	 */
-	private void fillLocalPullDown(IMenuManager manager) {
-		manager.add(undoAction);
-		manager.add(redoAction);
-		manager.add(new Separator());
-		manager.add(clearBoxesAction);
-	}
-
-	/*
-	 * Add our undo and redo actions to the context menu.
-	 */
-	private void fillContextMenu(IMenuManager manager) {
-		manager.add(undoAction);
-		manager.add(redoAction);
-		manager.add(new Separator());
-		manager.add(clearBoxesAction);
-		manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-
-	/*
-	 * Add actions to the local toolbar.
-	 */
-	private void fillLocalToolBar(IToolBarManager manager) {
-		manager.add(clearBoxesAction);
-	}
-
-	/*
-	 * Make any local actions used in the view.
-	 */
-	private void makeActions() {
-		clearBoxesAction = new Action() {
-			public void run() {
-				try {
-					getOperationHistory().execute(
-							new ClearBoxesOperation(
-									UndoExampleMessages.BoxView_ClearBoxes,
-									undoContext, boxes, paintCanvas), null,
-							null);
-				} catch (ExecutionException e) {
-				}
-			}
-		};
-		clearBoxesAction.setText(UndoExampleMessages.BoxView_ClearBoxes);
-		clearBoxesAction
-				.setToolTipText(UndoExampleMessages.BoxView_ClearBoxesToolTipText);
-		clearBoxesAction.setImageDescriptor(PlatformUI.getWorkbench()
-				.getSharedImages().getImageDescriptor(
-						ISharedImages.IMG_TOOL_DELETE));
-	}
-
-	/*
-	 * Create the global undo and redo action handlers.
-	 */
-	private void createGlobalActionHandlers() {
-		// set up action handlers that operate on the current context
-		undoAction = new UndoActionHandler(this.getSite(), undoContext);
-		redoAction = new RedoActionHandler(this.getSite(), undoContext);
-		IActionBars actionBars = getViewSite().getActionBars();
-		actionBars.setGlobalActionHandler(ActionFactory.UNDO.getId(),
-				undoAction);
-		actionBars.setGlobalActionHandler(ActionFactory.REDO.getId(),
-				redoAction);
-	}
-
-	/*
-	 * Set focus to the canvas.
-	 */
-	public void setFocus() {
-		paintCanvas.setFocus();
-	}
-
-	/*
-	 * Reset the drag operation.
-	 */
-	private void resetDrag(boolean clearRubberband) {
-		if (clearRubberband) {
-			clearRubberBandSelection();
-		}
-		dragInProgress = false;
-		moveInProgress = false;
-		movingBox = null;
-		anchorPosition.x = anchorPosition.y = tempPosition.x = tempPosition.y = rubberbandPosition.x = rubberbandPosition.y = -1;
-	}
-
-	/*
-	 * Clear the existing rubber band selection.
-	 */
-	private void clearRubberBandSelection() {
-		gc.setForeground(paintCanvas.getBackground());
-		gc.drawRectangle(anchorPosition.x, anchorPosition.y,
-				rubberbandPosition.x - anchorPosition.x, rubberbandPosition.y
-						- anchorPosition.y);
-		paintCanvas.redraw(anchorPosition.x, anchorPosition.y,
-				rubberbandPosition.x - anchorPosition.x, rubberbandPosition.y
-						- anchorPosition.y, false);
-		paintCanvas.update();
-		rubberbandPosition = new Point(-1, -1);
-		gc.setForeground(paintCanvas.getForeground());
-	}
-
-	/*
-	 * Show a rubber band selection.
-	 */
-	private void addRubberBandSelection() {
-		rubberbandPosition = tempPosition;
-		gc.drawRectangle(anchorPosition.x, anchorPosition.y,
-				rubberbandPosition.x - anchorPosition.x, rubberbandPosition.y
-						- anchorPosition.y);
-	}
-
-	/*
-	 * Initialize the workbench operation history for our undo context.
-	 */
-	private void initializeOperationHistory() {
-		// create a unique undo context to 
-		// represent this view's undo history
-		undoContext = new ObjectUndoContext(this);
-
-		// set the undo limit for this context based on the preference
-		int limit = UndoPlugin.getDefault().getPreferenceStore().getInt(
-				PreferenceConstants.PREF_UNDOLIMIT);
-		getOperationHistory().setLimit(undoContext, limit);
-
-		// Install an operation approver for this undo context that prompts
-		// according to a user preference.
-		operationApprover = new PromptingUserApprover(undoContext);
-		getOperationHistory().addOperationApprover(operationApprover);
-	}
-
-	/*
-	 * Get the operation history from the workbench.
-	 */
-	private IOperationHistory getOperationHistory() {
-		return PlatformUI.getWorkbench().getOperationSupport()
-				.getOperationHistory();
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/views/UndoHistoryView.java b/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/views/UndoHistoryView.java
deleted file mode 100644
index a952dac..0000000
--- a/examples/org.eclipse.ui.examples.undo/Eclipse UI Examples Undo/org/eclipse/ui/examples/undo/views/UndoHistoryView.java
+++ /dev/null
@@ -1,415 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.undo.views;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.examples.undo.UndoExampleMessages;
-import org.eclipse.ui.examples.undo.UndoPlugin;
-import org.eclipse.ui.examples.undo.preferences.PreferenceConstants;
-import org.eclipse.ui.operations.RedoActionHandler;
-import org.eclipse.ui.operations.UndoActionHandler;
-import org.eclipse.ui.part.*;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.commands.operations.OperationHistoryFactory;
-import org.eclipse.core.commands.operations.IOperationHistory;
-import org.eclipse.core.commands.operations.IOperationHistoryListener;
-import org.eclipse.core.commands.operations.OperationHistoryEvent;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.*;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.SWT;
-
-/**
- * This view shows what operations are being added to the operations history for
- * undo. The view can be filtered by any operation context. A null operation
- * context indicates that the view should not be filtered.
- * 
- * <p>
- * Selecting undo or redo from the context menu or the edit menu will perform a
- * linear undo in the current context of the view. Selecting "Undo selected"
- * allows experimentation with direct undo. Operations that are undoable may be
- * undone independently of their order in the history.
- */
-
-public class UndoHistoryView extends ViewPart implements
-		ISelectionChangedListener {
-	private TableViewer viewer;
-
-	private Action filterAction;
-
-	private Action doubleClickAction;
-
-	private Action selectiveUndoAction;
-
-	private Action refreshListAction;
-
-	private IOperationHistory history = OperationHistoryFactory
-			.getOperationHistory();
-
-	private IUndoContext fContext = IOperationHistory.GLOBAL_UNDO_CONTEXT;
-
-	private UndoActionHandler undoAction;
-
-	private RedoActionHandler redoAction;
-	
-	private boolean showDebug = UndoPlugin.getDefault().getPreferenceStore().getBoolean(PreferenceConstants.PREF_SHOWDEBUG);
-	private IPropertyChangeListener propertyChangeListener;
-
-	/*
-	 * The content provider shows the operations in the undo portion of the
-	 * operation history.  The histor is filtered by the currently selected
-	 * undo context.
-	 */
-
-	class ViewContentProvider implements IStructuredContentProvider,
-			IOperationHistoryListener {
-
-		public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-			// we never change inputs, so we just use this as a place to add our
-			// listener.
-			history.addOperationHistoryListener(this);
-		}
-
-		public void dispose() {
-			history.removeOperationHistoryListener(this);
-		}
-
-		public Object[] getElements(Object input) {
-			// show the items in the operations history.
-			return history.getUndoHistory(fContext);
-		}
-
-		public void historyNotification(OperationHistoryEvent event) {
-			if (viewer.getTable().isDisposed())
-				return;
-			Display display = viewer.getTable().getDisplay();
-			switch (event.getEventType()) {
-			case OperationHistoryEvent.OPERATION_ADDED:
-			case OperationHistoryEvent.OPERATION_REMOVED:
-			case OperationHistoryEvent.UNDONE:
-			case OperationHistoryEvent.REDONE:
-				if (event.getOperation().hasContext(fContext)
-						&& display != null) {
-					display.syncExec(new Runnable() {
-						public void run() {
-							// refresh all labels in case any operation has
-							// changed dynamically
-							// without notifying the operation history.
-							if (!viewer.getTable().isDisposed())
-								viewer.refresh(true);
-						}
-					});
-				}
-				break;
-			}
-		}
-	}
-
-	/*
-	 * A simple label provider that uses a preference to determine
-	 * whether the simple label or the debugging label (toString()) 
-	 * for an operation is shown.
-	 */
-	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 String getText(Object obj) {
-			if (!showDebug && obj instanceof IUndoableOperation)
-				return ((IUndoableOperation)obj).getLabel();
-			return obj.toString();
-		}
-	}
-
-	/*
-	 * Create a table viewer to show the list of operations.
-	 */
-	public void createPartControl(Composite parent) {
-		viewer = new TableViewer(parent, SWT.SINGLE | SWT.H_SCROLL
-				| SWT.V_SCROLL);
-		viewer.setContentProvider(new ViewContentProvider());
-		viewer.setLabelProvider(new ViewLabelProvider());
-		viewer.setInput(getViewSite());
-		makeActions();
-		hookContextMenu();
-		hookDoubleClickAction();
-		addListeners();
-		createGlobalActionHandlers();
-	}
-	
-	/*
-	 * Add any listeners needed by this view.
-	 */
-	private void addListeners() {
-		propertyChangeListener = new IPropertyChangeListener(){
-			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getProperty() == PreferenceConstants.PREF_SHOWDEBUG) {
-					showDebug = UndoPlugin.getDefault().getPreferenceStore().getBoolean(PreferenceConstants.PREF_SHOWDEBUG);
-					viewer.refresh();
-				}
-			}
-		};
-		UndoPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(propertyChangeListener);
-		viewer.getControl().addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				removeListeners();
-			}
-		});
-	}
-	
-	/*
-	 * Remove listeners that were added to this view.
-	 */
-	private void removeListeners() {
-		UndoPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(propertyChangeListener);	
-	}
-
-
-	/*
-	 * Create global action handlers to control undo and redo. We use the action
-	 * handlers rather than the UndoRedoActionGroup because this view
-	 * dynamically sets the undo context of the handlers. Most views that simply
-	 * desire an undo and redo menu action for their undo context can use
-	 * UndoRedoActionGroup.
-	 */
-	private void createGlobalActionHandlers() {
-		// set up action handlers that operate on the current context
-		undoAction = new UndoActionHandler(this.getSite(), fContext);
-		redoAction = new RedoActionHandler(this.getSite(), fContext);
-		IActionBars actionBars = getViewSite().getActionBars();
-		actionBars.setGlobalActionHandler(ActionFactory.UNDO.getId(),
-				undoAction);
-		actionBars.setGlobalActionHandler(ActionFactory.REDO.getId(),
-				redoAction);
-	}
-
-	/*
-	 * Put up a dialog that shows all of the available undo contexts and allow
-	 * the user to select one.
-	 */
-	private IUndoContext selectContext() {
-		// This would be better implemented as a view filter, but for now, we 
-		// will use a dialog that collects the available undo contexts.
-		List input = new ArrayList();
-		IUndoableOperation[] operations = history
-				.getUndoHistory(IOperationHistory.GLOBAL_UNDO_CONTEXT);
-		for (int i = 0; i < operations.length; i++) {
-			IUndoContext[] contexts = operations[i].getContexts();
-			for (int j = 0; j < contexts.length; j++) {
-				if (!input.contains(contexts[j])) {
-					input.add(contexts[j]);
-				}
-			}
-		}
-		input.add(IOperationHistory.GLOBAL_UNDO_CONTEXT);
-
-		ILabelProvider labelProvider = new LabelProvider() {
-			public String getText(Object element) {
-				return ((IUndoContext) element).getLabel();
-			}
-		};
-
-		ElementListSelectionDialog dialog = new ElementListSelectionDialog(
-				getSite().getShell(), labelProvider);
-		dialog.setMultipleSelection(false);
-		dialog.setTitle(UndoExampleMessages.UndoHistoryView_ContextFilterDialog); 
-		dialog.setMessage(UndoExampleMessages.UndoHistoryView_ChooseContextMessage); 
-		dialog.setElements(input.toArray());
-		dialog.setInitialSelections(new Object[] { fContext });
-		if (dialog.open() == Window.OK) {
-			Object[] contexts = dialog.getResult();
-			if (contexts[0] instanceof IUndoContext)
-				return (IUndoContext) contexts[0];
-			return null;
-		}
-		return null;
-	}
-
-	/*
-	 * Reset the undo context on which the history is filtered.
-	 */
-	public void setContext(IUndoContext context) {
-		fContext = context;
-		// setting the context into the actions updates the menu labels, etc.
-		redoAction.setContext(context);
-		undoAction.setContext(context);
-		// need to refresh the viewer
-		viewer.refresh(false);
-	}
-
-	/*
-	 * Hook the context menu for the view
-	 */
-	private void hookContextMenu() {
-		MenuManager menuMgr = new MenuManager("#PopupMenu");
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				UndoHistoryView.this.fillContextMenu(manager);
-			}
-		});
-		Menu menu = menuMgr.createContextMenu(viewer.getControl());
-		viewer.getControl().setMenu(menu);
-		getSite().registerContextMenu(menuMgr, viewer);
-	}
-
-	/*
-	 * Fill the context menu for the view.
-	 */
-	private void fillContextMenu(IMenuManager manager) {
-		// First add the global undo/redo actions
-		undoAction.update();
-		redoAction.update();
-		manager.add(undoAction);
-		manager.add(redoAction);
-		manager.add(new Separator());
-		
-		// Now add our specialized actions
-		manager.add(selectiveUndoAction);
-		manager.add(filterAction);
-		manager.add(refreshListAction);
-
-		ISelection selection = viewer.getSelection();
-		if (!selection.isEmpty()) {
-			IUndoableOperation operation = (IUndoableOperation) ((IStructuredSelection) selection)
-					.getFirstElement();
-			selectiveUndoAction.setEnabled(operation.canUndo());
-		} else {
-			selectiveUndoAction.setEnabled(false);
-		}
-
-		// Other plug-ins can contribute actions here
-		manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-
-	/*
-	 * Create the actions for the view.
-	 */
-	private void makeActions() {
-		filterAction = new Action() {
-			public void run() {
-				IUndoContext context = selectContext();
-				if (fContext != context && context != null) {
-					setContext(context);
-				}
-			}
-		};
-		filterAction.setText(UndoExampleMessages.UndoHistoryView_FilterText);
-		filterAction.setToolTipText(UndoExampleMessages.UndoHistoryView_FilterToolTipText);
-		filterAction.setImageDescriptor(PlatformUI.getWorkbench()
-				.getSharedImages().getImageDescriptor(
-						ISharedImages.IMG_OBJS_INFO_TSK));
-
-		selectiveUndoAction = new Action() {
-			public void run() {
-				ISelection selection = viewer.getSelection();
-				IUndoableOperation operation = (IUndoableOperation) ((IStructuredSelection) selection)
-						.getFirstElement();
-				if (operation.canUndo()) {
-					try {
-						history.undoOperation(operation, null, undoAction);
-					} catch (ExecutionException e) {
-						showMessage(UndoExampleMessages.UndoHistoryView_OperationException);
-					}
-				} else {
-					showMessage(UndoExampleMessages.UndoHistoryView_OperationInvalid);
-				}
-			}
-		};
-		selectiveUndoAction.setText(UndoExampleMessages.UndoHistoryView_UndoSelected);
-		selectiveUndoAction.setToolTipText(UndoExampleMessages.UndoHistoryView_UndoSelectedToolTipText);
-		selectiveUndoAction.setImageDescriptor(PlatformUI.getWorkbench()
-				.getSharedImages().getImageDescriptor(
-						ISharedImages.IMG_TOOL_UNDO));
-
-		refreshListAction = new Action() {
-			public void run() {
-				if (!viewer.getTable().isDisposed())
-					viewer.refresh(true);
-			}
-		};
-		refreshListAction.setText(UndoExampleMessages.UndoHistoryView_RefreshList);
-		refreshListAction.setToolTipText(UndoExampleMessages.UndoHistoryView_RefreshListToolTipText);
-
-		doubleClickAction = new Action() {
-			public void run() {
-				ISelection selection = viewer.getSelection();
-				IUndoableOperation operation = (IUndoableOperation) ((IStructuredSelection) selection)
-						.getFirstElement();
-				StringBuffer buf = new StringBuffer(operation.getLabel());
-				buf.append("\n");
-				buf.append("Enabled=");	//$NON-NLS-1$
-				buf.append(new Boolean(operation.canUndo()).toString());
-				buf.append("\n");
-				buf.append(operation.getClass().toString());
-				showMessage(buf.toString());
-
-			}
-		};
-	}
-
-	/*
-	 * Register a double click action with the double click event.
-	 */
-	private void hookDoubleClickAction() {
-		viewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				doubleClickAction.run();
-			}
-		});
-	}
-
-	/*
-	 * Show an info message
-	 */
-	private void showMessage(String message) {
-		MessageDialog.openInformation(viewer.getControl().getShell(),
-				UndoExampleMessages.UndoHistoryView_InfoDialogTitle, message);
-	}
-
-	/*
-	 * The selection has changed.
-	 */
-	public void selectionChanged(SelectionChangedEvent event) {
-		ISelection selection = viewer.getSelection();
-		boolean enabled = !selection.isEmpty();
-		selectiveUndoAction.setEnabled(enabled);
-	}
-
-	/*
-	 * Pass the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.undo/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.undo/META-INF/MANIFEST.MF
deleted file mode 100644
index c854f9b..0000000
--- a/examples/org.eclipse.ui.examples.undo/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.ui.examples.undo; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-Activator: org.eclipse.ui.examples.undo.UndoPlugin
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.jface.text
-Eclipse-LazyStart: true
-Bundle-Vendor: %Plugin.providerName
diff --git a/examples/org.eclipse.ui.examples.undo/about.html b/examples/org.eclipse.ui.examples.undo/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.ui.examples.undo/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.undo/build.properties b/examples/org.eclipse.ui.examples.undo/build.properties
deleted file mode 100644
index dae444f..0000000
--- a/examples/org.eclipse.ui.examples.undo/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = Eclipse UI Examples Undo/
-
-bin.includes = doc-html/,\
-               icons/,\
-               about.html,\
-               plugin.properties,\
-               plugin.xml,\
-               .,\
-               META-INF/
-
-src.includes = about.html
diff --git a/examples/org.eclipse.ui.examples.undo/doc-html/ui_undo_ex.html b/examples/org.eclipse.ui.examples.undo/doc-html/ui_undo_ex.html
deleted file mode 100644
index f24f028..0000000
--- a/examples/org.eclipse.ui.examples.undo/doc-html/ui_undo_ex.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Undo Example</title>
-</head>
-<body>
-
-<h2>
-<b>Example - Undo</b></h2>
-
-<h3>Introduction</h3>
-<p>
-The Undo Example adds two views to the workbench.  The <b>Box View</b> is a rudimentary
-view that allows the user to create boxes by clicking into empty space and dragging the mouse
-to form a box.  Boxes can be moved by selecting a box and dragging it around.  The user
-may undo and redo any operations performed in the box view.  The <b>Undo History
-View</b> shows the undo history maintained by the workbench operations history.
-</p>
-<h3>Features demonstrated in the example</h3>
-<ul>
-<li>Creating an <tt>IUndoableOperation</tt> inside an action (Delete all boxes) to perform the action's
-work .</li>
-<li>Creating an <tt>IUndoableOperation</tt> based on an operation implied by a gesture (Adding
-and moving boxes).</li>
-<li>Using a local <tt>IUndoContext</tt> to keep undo operations local to a particular view.</li>
-<li>Using the platform undo and redo action handlers to provide undo and redo in a view.</li>
-<li>Providing a user preference for setting the undo limit for a particular undo context.</li>
-<li>Using an <tt>IOperationApprover</tt> to install additional policy (Prompt before undo) in
-the operation history.</li>
-<li>Using <tt>IOperationHistory</tt> protocol to show undo history for different
-undo contexts (Undo History View).</li>
-</ul>
-<h3>Features not demonstrated</h3>
-<ul>
-<li>Since the example is focused on simple undo, the BoxView code is kept
-to a minimum.  Therefore, it does not provide the expected graphical editor features such as
-selection, resize and selection handles, color and line style attributes, etc.  For the same
-reason, advanced features in the undo framework are not shown.</li>
-<li>There is no example of assigning multiple undo contexts in order to share operations between
-views or editors.</li>
-<li>There is no example of using composite undo operations.</li>
-</ul>
-<h3>Running the example</h3>
-<p>
-From Eclipse's <strong>Window</strong> menu select <strong>Show View</strong> &gt; <strong>Other...</strong>.  
-In the <strong>Show View</strong> dialog, expand <strong>Undo Examples</strong> and select
-the view named <strong>Box View</strong>. The box view will appear.
-</p>
-<p>
-Likewise, from the <strong>Window</strong> menu select <strong>Show View</strong> &gt; <strong>Other...</strong>.  
-In the <strong>Show View</strong> dialog, expand <strong>Undo Examples</strong> and select
-the view named <strong>Undo History View</strong>. A view containing the undo history will appear.
-This view can be used alongside the Box View to watch the undo history as boxes are added or moved.  It
-can also be used independently of the Box View to follow the undo history for any view or editor that
-uses the workbench operations history to track undoable operations.
-</p>
-<h3>Details</h3>
-<h4>Box View</h4>
-<p>Click in the box view and drag the mouse to create a box that follows the mouse.  Clicking inside an
-existing box and dragging the mouse will move the box to a new location.  Note the operations that appear
-in the <strong>Undo</strong> and <strong>Redo</strong> menus as boxes are added and moved.  The box view
-can be cleared by selecting <strong>Delete all boxes</strong> from the context menu or the view's local
-menu and toolbar.  This operation can also be undone.
-</p>
-<h4>Undo History View</h4>
-<p>The Undo History View shows the operations available for undo in all undo contexts.  To view the history
-in a particular undo context, select <strong>Filter on...</strong> from the view's context menu.
-This will filter the undo history on a particular undo context.  The view can be used to view the undo history
-for the Box View, for SDK text editors, and for undoable operations that affect the workspace, such as
-refactoring operations.  Undo and redo can be performed from the Undo History View's menus.  <b>Undo selected</b>
-will attempt to undo the selected operation in the undo history, regardless of its position in the operation history.
-Depending on the operation in question, this may or may not be allowed.  For example, the Box View allows all add and
-move operations to be undone or redone even if they aren't the most recently performed operation.  Text editors
-will prompt if an attempt is made to undo a typing operation that is not the most recent.
-</p>
-<h4>Example Preferences</h4>
-<p>Preferences are provided that affect the operation of both views.  
-From Eclipse's <strong>Window</strong> menu select <strong>Preferences</strong> &gt; <strong>Undo Preferences</strong>.  
-<ul>
-<li><strong>Undo history limit</strong> controls how many undoable operations are kept in the history for the Box View.</li>
-<li><strong>Show debug labels in undo history view</strong> controls whether the simple label shown in the undo menu is
-used for displaying operations, or a debug label that includes information such as the assigned undo context(s).</li>
-<li><strong>Confirm all undo operations</strong> controls whether prompting occurs before undoing or redoing an operation.
-This preference is used by the operation approver installed by the example.</li>
-</ul>
-</p>
-</body>
-</html>
diff --git a/examples/org.eclipse.ui.examples.undo/icons/sample.gif b/examples/org.eclipse.ui.examples.undo/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/examples/org.eclipse.ui.examples.undo/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.undo/plugin.properties b/examples/org.eclipse.ui.examples.undo/plugin.properties
deleted file mode 100644
index 651f78e..0000000
--- a/examples/org.eclipse.ui.examples.undo/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Plugin.name = Undo Example
-Plugin.providerName = Eclipse.org
-Views.historyView = Undo History View
-Views.boxView = Box View
-Views.Category = Undo Examples
-Preferences.Undo = Undo Preferences
diff --git a/examples/org.eclipse.ui.examples.undo/plugin.xml b/examples/org.eclipse.ui.examples.undo/plugin.xml
deleted file mode 100644
index 37f1aa5..0000000
--- a/examples/org.eclipse.ui.examples.undo/plugin.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%Preferences.Undo"
-            class="org.eclipse.ui.examples.undo.preferences.UndoPreferencePage"
-            id="org.eclipse.ui.examples.undo.preferences.UndoPreferencePage">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.preferences">
-      <initializer
-            class="org.eclipse.ui.examples.undo.preferences.PreferenceInitializer">
-      </initializer>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%Views.Category"
-            id="org.eclipse.ui.examples.undo">
-      </category>
-      <view
-            name="%Views.boxView"
-            icon="icons/sample.gif"
-            category="org.eclipse.ui.examples.undo"
-            class="org.eclipse.ui.examples.undo.views.BoxView"
-            id="org.eclipse.ui.examples.undo.views.BoxView">
-      </view>
-   </extension>
-   
-         <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%Views.Category"
-            id="org.eclipse.ui.examples.undo"/>
-      <view
-            class="org.eclipse.ui.examples.undo.views.UndoHistoryView"
-            icon="icons/sample.gif"
-            category="org.eclipse.ui.examples.undo"
-            name="%Views.historyView"
-            id="org.eclipse.ui.examples.undo.views.UndoHistoryView"/>
-   </extension>
-   
-
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.classpath b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.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.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.cvsignore b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.project b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.project
deleted file mode 100644
index 7626b41..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.views.properties.tabbed.article</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/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 682f531..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:18:08 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index cbc1d39..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:18:08 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index e5fd2a4..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Jan 10 16:54:24 EST 2006
-compilers.p.deprecated=1
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/META-INF/MANIFEST.MF
deleted file mode 100644
index 6fe533d..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.ui.examples.views.properties.tabbed.article; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-Activator: org.eclipse.ui.examples.views.properties.tabbed.article.Activator
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.ui.views.properties.tabbed
-Eclipse-LazyStart: true
-Bundle-Vendor: %Plugin.providerName
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/about.html b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/build.properties b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/build.properties
deleted file mode 100644
index 2288d96..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .,\
-               icons/,\
-               plugin.properties,\
-               about.html
-src.includes = about.html
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/icons/sample.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/plugin.properties b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/plugin.properties
deleted file mode 100644
index 29ae8fb..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Plugin.name = Tabbed Properties View Article Example
-Plugin.providerName = Eclipse.org
-
-Views.category.name = Tabbed Properties View
-Views.example.name = Tabbed Properties Example View
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/plugin.xml b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/plugin.xml
deleted file mode 100644
index 658107c..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/plugin.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin>
-
-     <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%Views.category.name"
-            id="org.eclipse.ui.views.properties.tabbed">
-      </category>
-      <view
-            name="%Views.example.name"
-            category="org.eclipse.ui.views.properties.tabbed"
-            icon="icons/sample.gif"
-            class="org.eclipse.ui.examples.views.properties.tabbed.article.views.SampleView"
-            id="org.eclipse.ui.examples.views.properties.tabbed.article.views.SampleView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
-      <propertyContributor contributorId="org.eclipse.ui.examples.views.properties.tabbed.article.views.SampleView">
-         <propertyCategory category="sample"/>
-      </propertyContributor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertyTabs">
-      <propertyTabs contributorId="org.eclipse.ui.examples.views.properties.tabbed.article.views.SampleView">
-         <propertyTab
-               category="sample"
-               id="ButtonTab"
-               label="Button"/>
-         <propertyTab
-               afterTab="ButtonTab"
-               category="sample"
-               id="AdvancedTab"
-               label="Advanced"/>
-      </propertyTabs>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertySections">
-      <propertySections contributorId="org.eclipse.ui.examples.views.properties.tabbed.article.views.SampleView">
-         <propertySection
-               class="org.eclipse.ui.examples.views.properties.tabbed.article.views.LabelSection"
-               id="LabelSection"
-               tab="ButtonTab">
-            <input type="org.eclipse.ui.examples.views.properties.tabbed.article.views.ButtonElement"/>
-         </propertySection>
-         <propertySection
-               afterSection="LabelSection"
-               class="org.eclipse.ui.examples.views.properties.tabbed.article.views.SizeSection"
-               id="SizeSection"
-               tab="ButtonTab">
-            <input type="org.eclipse.ui.examples.views.properties.tabbed.article.views.ButtonElement"/>
-         </propertySection>
-         <propertySection
-               class="org.eclipse.ui.views.properties.tabbed.AdvancedPropertySection"
-               id="AdvancedSection"
-               tab="AdvancedTab">
-            <input type="org.eclipse.ui.examples.views.properties.tabbed.article.views.ButtonElement"/>
-         </propertySection>
-         <propertySection
-               afterSection="SizeSection"
-               class="org.eclipse.ui.examples.views.properties.tabbed.article.views.FontSection"
-               id="FontSection"
-               tab="ButtonTab">
-            <input type="org.eclipse.ui.examples.views.properties.tabbed.article.views.ButtonElement"/>
-         </propertySection>
-      </propertySections>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/Activator.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/Activator.java
deleted file mode 100644
index b30f7ae..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/Activator.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.article;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * Activator for this plug-in.
- * 
- * @author Anthony Hunter
- */
-public class Activator
-    extends AbstractUIPlugin {
-
-    // The shared instance.
-    private static Activator plugin;
-
-    /**
-     * The constructor.
-     */
-    public Activator() {
-        plugin = this;
-    }
-
-    /**
-     * This method is called upon plug-in activation
-     */
-    public void start(BundleContext context)
-        throws Exception {
-        super.start(context);
-    }
-
-    /**
-     * This method is called when the plug-in is stopped
-     */
-    public void stop(BundleContext context)
-        throws Exception {
-        super.stop(context);
-        plugin = null;
-    }
-
-    /**
-     * Returns the shared instance.
-     * 
-     * @return the shared instance.
-     */
-    public static Activator getDefault() {
-        return plugin;
-    }
-
-    /**
-     * Returns an image descriptor for the image file at the given plug-in
-     * relative path.
-     * 
-     * @param path
-     *            the path
-     * @return the image descriptor
-     */
-    public static ImageDescriptor getImageDescriptor(String path) {
-        return AbstractUIPlugin.imageDescriptorFromPlugin(
-            "org.eclipse.ui.examples.views.properties.tabbed.article", path);//$NON-NLS-1$
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/ButtonElement.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/ButtonElement.java
deleted file mode 100644
index cb9159e..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/ButtonElement.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.examples.views.properties.tabbed.article.views;

-

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

-import org.eclipse.jface.resource.ImageDescriptor;

-import org.eclipse.swt.widgets.Button;

-import org.eclipse.ui.model.IWorkbenchAdapter;

-import org.eclipse.ui.views.properties.IPropertySource;

-

-/**

- * This class represents a Button Element in the Sample View

- * 

- * 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 ButtonElement

-    implements IWorkbenchAdapter, IAdaptable {

-

-    private String headingName;

-

-    private Button ctl;

-

-    /**

-     * Creates a new ButtonElement.

-     * 

-     * @param initBtn

-     *            the control of this element

-     * @param heading

-     *            text corresponding to the heading

-     */

-    public ButtonElement(Button initBtn, String heading) {

-        this.headingName = heading;

-        this.ctl = initBtn;

-    }

-

-    /*

-     * (non-Javadoc) Method declared on IAdaptable

-     */

-    public Object getAdapter(Class adapter) {

-        if (adapter == IWorkbenchAdapter.class)

-            return this;

-        if (adapter == IPropertySource.class)

-            return new ButtonElementProperties(this);

-        return null;

-    }

-

-    /*

-     * (non-Javadoc) Method declared on IWorkbenchAdapter

-     */

-    public ImageDescriptor getImageDescriptor(Object object) {

-        return null;

-    }

-

-    /*

-     * (non-Javadoc) Method declared on IWorkbenchAdapter

-     */

-    public String getLabel(Object o) {

-        return headingName;

-    }

-

-    /*

-     * (non-Javadoc) Method declared on IWorkbenchAdapter

-     */

-    public Object getParent(Object o) {

-        return null;

-    }

-

-    /**

-     * Retrieve the control for this element.

-     * 

-     * @return the control for this element.

-     */

-    public Button getControl() {

-        return ctl;

-    }

-

-    /**

-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(Object)

-     */

-    public Object[] getChildren(Object o) {

-        return null;

-    }

-

-}

diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/ButtonElementProperties.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/ButtonElementProperties.java
deleted file mode 100644
index 7114d84..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/ButtonElementProperties.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.examples.views.properties.tabbed.article.views;

-

-import org.eclipse.swt.graphics.Font;

-import org.eclipse.swt.graphics.FontData;

-import org.eclipse.swt.graphics.Point;

-import org.eclipse.swt.widgets.Button;

-import org.eclipse.ui.views.properties.IPropertyDescriptor;

-import org.eclipse.ui.views.properties.IPropertySource;

-import org.eclipse.ui.views.properties.PropertyDescriptor;

-import org.eclipse.ui.views.properties.TextPropertyDescriptor;

-

-/**

- * The property source provider for a button element.

- * 

- * @author Anthony Hunter

- */

-public class ButtonElementProperties

-    implements IPropertySource {

-

-    final protected ButtonElement element;

-

-    protected static final String PROPERTY_FONT = "font"; //$NON-NLS-1$

-

-    protected static final String PROPERTY_SIZE = "size"; //$NON-NLS-1$

-

-    protected static final String PROPERTY_TEXT = "text"; //$NON-NLS-1$

-

-    private final Object PropertiesTable[][] = {

-        {PROPERTY_FONT, new FontPropertyDescriptor(PROPERTY_FONT, "Font")},//$NON-NLS-1$

-        {PROPERTY_SIZE, new PropertyDescriptor(PROPERTY_SIZE, "Size")},//$NON-NLS-1$

-        {PROPERTY_TEXT, new TextPropertyDescriptor(PROPERTY_TEXT, "Text")}, //$NON-NLS-1$

-    };

-

-    String strFont = "";//$NON-NLS-1$

-

-    Point ptSize = null;

-

-    String strText = "";//$NON-NLS-1$

-

-    protected void firePropertyChanged(String propName, Object value) {

-        Button ctl = element.getControl();

-

-        if (ctl == null) {

-            // the GUIView is probably hidden in this case

-            return;

-        }

-

-        if (propName.equals(PROPERTY_FONT)) {

-            /**

-             * Font oldfont = ctl.getFont(); if (oldfont != null) {

-             * oldfont.dispose(); }

-             */

-            ctl

-                .setFont(new Font(ctl.getDisplay(),

-                    new FontData((String) value)));

-            return;

-        }

-        if (propName.equals(PROPERTY_TEXT)) {

-            ctl.setText((String) value);

-            return;

-        }

-

-    }

-

-    protected void initProperties() {

-        Button ctl = element.getControl();

-

-        if (ctl == null) {

-            // the GUIView is probably hidden in this case

-            return;

-        }

-

-        strText = ctl.getText();

-        /**

-         * Font font = ctl.getFont(); if (font != null) { strFont =

-         * font.getFontData().toString(); }

-         */

-        ptSize = ctl.getSize();

-    }

-

-    /**

-     * Creates a new ButtonElementProperties.

-     * 

-     * @param element

-     *            the element whose properties this instance represents

-     */

-    public ButtonElementProperties(ButtonElement element) {

-        super();

-        this.element = element;

-        initProperties();

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()

-     */

-    public Object getEditableValue() {

-        return this;

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()

-     */

-    public IPropertyDescriptor[] getPropertyDescriptors() {

-        // Create the property vector.

-        IPropertyDescriptor[] propertyDescriptors = new IPropertyDescriptor[PropertiesTable.length];

-

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

-            // Add each property supported.

-

-            PropertyDescriptor descriptor;

-

-            descriptor = (PropertyDescriptor) PropertiesTable[i][1];

-            propertyDescriptors[i] = descriptor;

-            descriptor.setCategory("Basic");//$NON-NLS-1$

-        }

-

-        // Return it.

-        return propertyDescriptors;

-

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(Object)

-     */

-    public Object getPropertyValue(Object name) {

-        if (name.equals(PROPERTY_FONT))

-            return strFont;

-        if (name.equals(PROPERTY_SIZE))

-            return new SizePropertySource(element, ptSize);

-        if (name.equals(PROPERTY_TEXT))

-            return strText;

-

-        return null;

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(Object)

-     */

-    public boolean isPropertySet(Object id) {

-        return false;

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(Object)

-     */

-    public void resetPropertyValue(Object id) {

-        //

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(Object,

-     *      Object)

-     */

-    public void setPropertyValue(Object name, Object value) {

-        firePropertyChanged((String) name, value);

-

-        if (name.equals(PROPERTY_FONT)) {

-            strFont = (String) value;

-            return;

-        }

-        if (name.equals(PROPERTY_TEXT)) {

-            strText = (String) value;

-            return;

-        }

-        if (name.equals(PROPERTY_SIZE)) {

-            SizePropertySource sizeProp = (SizePropertySource) value;

-            ptSize = sizeProp.getValue();

-        }

-

-    }

-

-    /**

-     * Returns the mocha element.

-     * 

-     * @return MochaElement

-     */

-    public ButtonElement getButtonElement() {

-        return element;

-    }

-

-}

diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/CheckBoxPropertyDescriptor.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/CheckBoxPropertyDescriptor.java
deleted file mode 100644
index 31bb51f..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/CheckBoxPropertyDescriptor.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.examples.views.properties.tabbed.article.views;

-

-import org.eclipse.jface.viewers.CellEditor;

-import org.eclipse.jface.viewers.CheckboxCellEditor;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.ui.views.properties.PropertyDescriptor;

-

-/**

- * A checkbox property descriptor.

- * 

- * @author Anthony Hunter

- */

-public class CheckBoxPropertyDescriptor

-    extends PropertyDescriptor {

-

-    /**

-     * Constructs a new property descriptor with the given id and display name.

-     * 

-     * @param id

-     *            the id for the descriptor.

-     * @param displayName

-     *            the display name for the descriptor.

-     */

-    public CheckBoxPropertyDescriptor(Object id, String displayName) {

-        super(id, displayName);

-    }

-

-    public CellEditor createPropertyEditor(Composite parent) {

-        CellEditor editor = new CheckboxCellEditor(parent);

-        if (getValidator() != null)

-            editor.setValidator(getValidator());

-        return editor;

-    }

-}

diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontDialogCellEditor.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontDialogCellEditor.java
deleted file mode 100644
index e29d6a2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontDialogCellEditor.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.examples.views.properties.tabbed.article.views;

-

-import org.eclipse.jface.viewers.DialogCellEditor;

-import org.eclipse.swt.graphics.FontData;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Control;

-import org.eclipse.swt.widgets.FontDialog;

-import org.eclipse.ui.PlatformUI;

-

-/**

- * a new Font dialog cell editor.

- * 

- * @author Anthony Hunter

- */

-public class FontDialogCellEditor

-    extends DialogCellEditor {

-

-    /**

-     * Creates a new Font 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 FontDialogCellEditor(Composite parent) {

-        super(parent);

-    }

-

-    /**

-     * @see org.eclipse.jface.viewers.DialogCellEditor#openDialogBox(Control)

-     */

-    protected Object openDialogBox(Control cellEditorWindow) {

-        FontDialog ftDialog = new FontDialog(PlatformUI.getWorkbench()

-            .getActiveWorkbenchWindow().getShell());

-

-        String value = (String) getValue();

-

-        if ((value != null) && (value.length() > 0)) {

-            ftDialog.setFontList(new FontData[] {new FontData(value)});

-        }

-        FontData fData = ftDialog.open();

-

-        if (fData != null) {

-            value = fData.toString();

-        }

-        return value;

-    }

-

-}

diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontPropertyDescriptor.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontPropertyDescriptor.java
deleted file mode 100644
index e67d03d..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontPropertyDescriptor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.examples.views.properties.tabbed.article.views;

-

-import org.eclipse.jface.viewers.CellEditor;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.ui.views.properties.PropertyDescriptor;

-

-/**

- * A font property descriptor.

- * 

- * @author Anthony Hunter

- */

-public class FontPropertyDescriptor

-    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 FontPropertyDescriptor(Object id, String displayName) {

-        super(id, displayName);

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.IPropertyDescriptor#createPropertyEditor(Composite)

-     */

-    public CellEditor createPropertyEditor(Composite parent) {

-        CellEditor editor = new FontDialogCellEditor(parent);

-        if (getValidator() != null)

-            editor.setValidator(getValidator());

-        return editor;

-    }

-

-}

diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontSection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontSection.java
deleted file mode 100644
index 37d12ef..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/FontSection.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.examples.views.properties.tabbed.article.views;

-

-import org.eclipse.jface.resource.StringConverter;

-import org.eclipse.jface.util.Assert;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.custom.CLabel;

-import org.eclipse.swt.events.SelectionAdapter;

-import org.eclipse.swt.events.SelectionEvent;

-import org.eclipse.swt.graphics.FontData;

-import org.eclipse.swt.graphics.GC;

-import org.eclipse.swt.graphics.Point;

-import org.eclipse.swt.layout.FormAttachment;

-import org.eclipse.swt.layout.FormData;

-import org.eclipse.swt.widgets.Button;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.FontDialog;

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.swt.widgets.Text;

-import org.eclipse.ui.IWorkbenchPart;

-import org.eclipse.ui.PlatformUI;

-import org.eclipse.ui.views.properties.IPropertySource;

-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;

-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;

-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;

-

-/**

- * The font section on the button tab.

- * 

- * @author Anthony Hunter

- */

-public class FontSection

-    extends AbstractPropertySection {

-

-    Text fontText;

-

-    private ButtonElement buttonElement;

-

-    public void setInput(IWorkbenchPart part, ISelection selection) {

-        super.setInput(part, selection);

-        Assert.isTrue(selection instanceof IStructuredSelection);

-        Object input = ((IStructuredSelection) selection).getFirstElement();

-        Assert.isTrue(input instanceof ButtonElement);

-        this.buttonElement = (ButtonElement) input;

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite,

-     *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)

-     */

-    public void createControls(Composite parent,

-            TabbedPropertySheetPage tabbedPropertySheetPage) {

-        super.createControls(parent, tabbedPropertySheetPage);

-        Composite composite = getWidgetFactory()

-            .createFlatFormComposite(parent);

-        FormData data;

-

-        Shell shell = new Shell();

-        GC gc = new GC(shell);

-        gc.setFont(shell.getFont());

-        Point point = gc.textExtent("");//$NON-NLS-1$

-        int buttonHeight = point.y + 5;

-        gc.dispose();

-        shell.dispose();

-

-        CLabel fontLabel = getWidgetFactory().createCLabel(composite, "Font:"); //$NON-NLS-1$

-        fontText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$

-        fontText.setEditable(false);

-        Button fontButton = getWidgetFactory().createButton(composite,

-            "Change...", SWT.PUSH); //$NON-NLS-1$

-        fontButton.addSelectionListener(new SelectionAdapter() {

-

-            public void widgetSelected(SelectionEvent event) {

-                FontDialog ftDialog = new FontDialog(PlatformUI.getWorkbench()

-                    .getActiveWorkbenchWindow().getShell());

-

-                FontData fontdata = buttonElement.getControl().getFont()

-                    .getFontData()[0];

-                String value = fontdata.toString();

-

-                if ((value != null) && (value.length() > 0)) {

-                    ftDialog.setFontList(new FontData[] {new FontData(value)});

-                }

-                FontData fData = ftDialog.open();

-

-                if (fData != null) {

-                    value = fData.toString();

-

-                    ButtonElementProperties properties = (ButtonElementProperties) buttonElement

-                        .getAdapter(IPropertySource.class);

-                    properties.setPropertyValue(

-                        ButtonElementProperties.PROPERTY_FONT, value);

-                    fontText.setText(StringConverter.asString(fData));

-                }

-            }

-        });

-

-        data = new FormData();

-        data.left = new FormAttachment(0, 0);

-        data.right = new FormAttachment(fontText,

-            -ITabbedPropertyConstants.HSPACE);

-        data.top = new FormAttachment(0, 0);

-        fontLabel.setLayoutData(data);

-

-        data = new FormData();

-        data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH);

-        data.right = new FormAttachment(fontButton,

-            -ITabbedPropertyConstants.HSPACE);

-        data.top = new FormAttachment(0, 0);

-        fontText.setLayoutData(data);

-

-        data = new FormData();

-        data.right = new FormAttachment(100, 0);

-        data.top = new FormAttachment(0, 0);

-        data.height = buttonHeight;

-        fontButton.setLayoutData(data);

-    }

-

-    /*

-     * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#refresh()

-     */

-    public void refresh() {

-        FontData fontdata = buttonElement.getControl().getFont().getFontData()[0];

-        fontText.setText(StringConverter.asString(fontdata));

-    }

-}

diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/LabelSection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/LabelSection.java
deleted file mode 100644
index 2fec15f..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/LabelSection.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.examples.views.properties.tabbed.article.views;

-

-import org.eclipse.jface.util.Assert;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.custom.CLabel;

-import org.eclipse.swt.events.ModifyEvent;

-import org.eclipse.swt.events.ModifyListener;

-import org.eclipse.swt.layout.FormAttachment;

-import org.eclipse.swt.layout.FormData;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Text;

-import org.eclipse.ui.IWorkbenchPart;

-import org.eclipse.ui.views.properties.IPropertySource;

-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;

-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;

-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;

-

-/**

- * The Label section on the Button tab.

- * 

- * @author Anthony Hunter

- */

-public class LabelSection

-    extends AbstractPropertySection {

-

-    private Text labelText;

-

-    private ButtonElement buttonElement;

-

-    private ModifyListener listener = new ModifyListener() {

-

-        public void modifyText(ModifyEvent arg0) {

-            ButtonElementProperties properties = (ButtonElementProperties) buttonElement

-                .getAdapter(IPropertySource.class);

-            properties.setPropertyValue(ButtonElementProperties.PROPERTY_TEXT,

-                labelText.getText());

-        }

-    };

-

-    public void setInput(IWorkbenchPart part, ISelection selection) {

-        super.setInput(part, selection);

-        Assert.isTrue(selection instanceof IStructuredSelection);

-        Object input = ((IStructuredSelection) selection).getFirstElement();

-        Assert.isTrue(input instanceof ButtonElement);

-        this.buttonElement = (ButtonElement) input;

-    }

-

-    public void createControls(Composite parent,

-            TabbedPropertySheetPage aTabbedPropertySheetPage) {

-        super.createControls(parent, aTabbedPropertySheetPage);

-        Composite composite = getWidgetFactory()

-            .createFlatFormComposite(parent);

-        FormData data;

-

-        labelText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$

-        data = new FormData();

-        data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH);

-        data.right = new FormAttachment(100, 0);

-        data.top = new FormAttachment(0, ITabbedPropertyConstants.VSPACE);

-        labelText.setLayoutData(data);

-        labelText.addModifyListener(listener);

-

-        CLabel labelLabel = getWidgetFactory()

-            .createCLabel(composite, "Label:"); //$NON-NLS-1$

-        data = new FormData();

-        data.left = new FormAttachment(0, 0);

-        data.right = new FormAttachment(labelText,

-            -ITabbedPropertyConstants.HSPACE);

-        data.top = new FormAttachment(labelText, 0, SWT.CENTER);

-        labelLabel.setLayoutData(data);

-    }

-

-    public void refresh() {

-        labelText.removeModifyListener(listener);

-        ButtonElementProperties properties = (ButtonElementProperties) buttonElement

-            .getAdapter(IPropertySource.class);

-        labelText.setText(properties.strText);

-        labelText.addModifyListener(listener);

-    }

-}

diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SampleView.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SampleView.java
deleted file mode 100644
index 12afc00..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SampleView.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.article.views;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * Sample view for the example.
- * 
- * @author Anthony Hunter
- *
- */
-public class SampleView
-    extends ViewPart
-    implements ITabbedPropertySheetPageContributor {
-
-    private ListViewer viewer;
-
-    private Group grp1;
-
-    /**
-     * The constructor.
-     */
-    public SampleView() {
-        //
-    }
-
-    /**
-     * This is a callback that will allow us to create the viewer and initialize
-     * it.
-     */
-    public void createPartControl(Composite parent) {
-        // create all the GUI controls
-        // create two groups
-        viewer = new ListViewer(parent, SWT.SINGLE);
-
-        grp1 = new Group(parent, SWT.NONE);
-        grp1.setText("Preview");//$NON-NLS-1$
-        RowLayout rowLayout = new RowLayout();
-        grp1.setLayout(rowLayout);
-
-        Button btn = new Button(grp1, SWT.PUSH);
-        btn.setText("Hello");//$NON-NLS-1$
-
-        // fill in the element
-        ArrayList ctlList = new ArrayList();
-        ButtonElement btnEl = new ButtonElement(btn, "Button");//$NON-NLS-1$
-        ctlList.add(btnEl);
-
-        viewer.setContentProvider(new ArrayContentProvider());
-        viewer.setLabelProvider(new WorkbenchLabelProvider());
-        viewer.setInput(ctlList);
-        getSite().setSelectionProvider(viewer);
-
-    }
-
-    /**
-     * Passing the focus request to the viewer's control.
-     */
-    public void setFocus() {
-        viewer.getControl().setFocus();
-    }
-
-    /**
-     * @see org.eclipse.core.runtime.IAdaptable#getAdapter(Class)
-     */
-    public Object getAdapter(Class adapter) {
-        if (adapter == IPropertySheetPage.class)
-            return new TabbedPropertySheetPage(this);
-        return super.getAdapter(adapter);
-    }
-
-    /**
-     * @see org.eclipse.ui.IWorkbenchPart#dispose()
-     */
-    public void dispose() {
-        super.dispose();
-    }
-
-    public String getContributorId() {
-        return getSite().getId();
-    }
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SizePropertySource.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SizePropertySource.java
deleted file mode 100644
index b206193..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SizePropertySource.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.examples.views.properties.tabbed.article.views;

-

-import org.eclipse.swt.graphics.Point;

-import org.eclipse.swt.widgets.Control;

-import org.eclipse.ui.views.properties.IPropertyDescriptor;

-import org.eclipse.ui.views.properties.IPropertySource;

-import org.eclipse.ui.views.properties.TextPropertyDescriptor;

-

-/**

- * Property source for the size properties.

- * 

- * @author Anthony Hunter

- */

-public class SizePropertySource

-    implements IPropertySource {

-

-    protected ButtonElement element;

-

-    /**

-     * The width.

-     */

-    public static String ID_WIDTH = "Width"; //$NON-NLS-1$

-

-    /**

-     * The height.

-     */

-    public static String ID_HEIGHT = "Height"; //$NON-NLS-1$

-

-    protected static IPropertyDescriptor[] descriptors;

-

-    static {

-        descriptors = new IPropertyDescriptor[] {

-            new TextPropertyDescriptor(ID_WIDTH, "width"),//$NON-NLS-1$

-            new TextPropertyDescriptor(ID_HEIGHT, "height")//$NON-NLS-1$

-        };

-    }

-

-    protected Point point = null;

-

-    /**

-     * The constructor for SizePropertySource.

-     * 

-     * @param m_element

-     *            the button element.

-     * @param point

-     *            the size of the button element.

-     */

-    public SizePropertySource(ButtonElement m_element, Point point) {

-        this.point = new Point(point.x, point.y);

-        element = m_element;

-    }

-

-    /**

-     * Fire a property change event.

-     * 

-     * @param propName

-     *            the name of the property change.

-     */

-    protected void firePropertyChanged() {

-        Control ctl = element.getControl();

-

-        if (ctl == null) {

-            // the GUIView is probably hidden in this case

-            return;

-        }

-        ctl.setSize(point);

-    }

-

-    public Object getEditableValue() {

-        return this;

-    }

-

-    public IPropertyDescriptor[] getPropertyDescriptors() {

-        return descriptors;

-    }

-

-    public Object getPropertyValue(Object propName) {

-        if (ID_WIDTH.equals(propName)) {

-            return new String(new Integer(point.x).toString());

-        }

-        if (ID_HEIGHT.equals(propName)) {

-            return new String(new Integer(point.y).toString());

-        }

-        return null;

-    }

-

-    /**

-     * Retrieve the value of the size property.

-     * 

-     * @return the value of the size property.

-     */

-    public Point getValue() {

-        return new Point(point.x, point.y);

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(Object)

-     */

-    public boolean isPropertySet(Object propName) {

-        if (ID_WIDTH.equals(propName) || ID_HEIGHT.equals(propName))

-            return true;

-        return false;

-    }

-

-    public void resetPropertyValue(Object propName) {

-        //

-    }

-

-    public void setPropertyValue(Object propName, Object value) {

-        int newInt;

-        try {

-            newInt = Integer.parseInt((String) value);

-        } catch (NumberFormatException e) {

-            newInt = -1;

-        }

-

-        if (newInt > 0) {

-            if (ID_WIDTH.equals(propName)) {

-                point.x = newInt;

-            } else if (ID_HEIGHT.equals(propName)) {

-                point.y = newInt;

-            }

-        }

-        firePropertyChanged();

-    }

-

-    public String toString() {

-        return point.toString();

-    }

-

-}

diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SizeSection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SizeSection.java
deleted file mode 100644
index c938e7d..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.article/src/org/eclipse/ui/examples/views/properties/tabbed/article/views/SizeSection.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.examples.views.properties.tabbed.article.views;

-

-import org.eclipse.jface.util.Assert;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.swt.custom.CLabel;

-import org.eclipse.swt.events.ModifyEvent;

-import org.eclipse.swt.events.ModifyListener;

-import org.eclipse.swt.layout.FormAttachment;

-import org.eclipse.swt.layout.FormData;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Text;

-import org.eclipse.ui.IWorkbenchPart;

-import org.eclipse.ui.views.properties.IPropertySource;

-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;

-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;

-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;

-

-/**

- * The size section on the button tab.

- * 

- * @author Anthony Hunter

- */

-public class SizeSection

-    extends AbstractPropertySection {

-

-    private Text widthText;

-

-    private Text heightText;

-

-    private ButtonElement buttonElement;

-

-    private ModifyListener listener = new ModifyListener() {

-

-        public void modifyText(ModifyEvent arg0) {

-            ButtonElementProperties properties = (ButtonElementProperties) buttonElement

-                .getAdapter(IPropertySource.class);

-            SizePropertySource sizePropertySource = (SizePropertySource) properties

-                .getPropertyValue(ButtonElementProperties.PROPERTY_SIZE);

-            sizePropertySource.setPropertyValue(SizePropertySource.ID_HEIGHT,

-                heightText.getText());

-            sizePropertySource.setPropertyValue(SizePropertySource.ID_WIDTH,

-                widthText.getText());

-        }

-    };

-

-    public void setInput(IWorkbenchPart part, ISelection selection) {

-        super.setInput(part, selection);

-        Assert.isTrue(selection instanceof IStructuredSelection);

-        Object input = ((IStructuredSelection) selection).getFirstElement();

-        Assert.isTrue(input instanceof ButtonElement);

-        this.buttonElement = (ButtonElement) input;

-    }

-

-    /**

-     * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite,

-     *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)

-     */

-    public void createControls(Composite parent,

-            TabbedPropertySheetPage tabbedPropertySheetPage) {

-        super.createControls(parent, tabbedPropertySheetPage);

-        Composite composite = getWidgetFactory()

-            .createFlatFormComposite(parent);

-        FormData data;

-

-        CLabel widthLabel = getWidgetFactory()

-            .createCLabel(composite, "Width:"); //$NON-NLS-1$

-        widthText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$

-        CLabel heightLabel = getWidgetFactory().createCLabel(composite,

-            "Height:"); //$NON-NLS-1$

-        heightText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$

-

-        data = new FormData();

-        data.left = new FormAttachment(0, 0);

-        data.right = new FormAttachment(widthText,

-            -ITabbedPropertyConstants.HSPACE);

-        data.top = new FormAttachment(0, 0);

-        widthLabel.setLayoutData(data);

-

-        data = new FormData();

-        data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH);

-        data.right = new FormAttachment(heightLabel,

-            -ITabbedPropertyConstants.HSPACE);

-        data.top = new FormAttachment(0, 0);

-        widthText.setLayoutData(data);

-

-        data = new FormData();

-        data.left = new FormAttachment(50, 0);

-        // data.right = new FormAttachment(heightText,

-        // -ITabbedPropertyConstants.HSPACE);

-        data.top = new FormAttachment(0, 0);

-        heightLabel.setLayoutData(data);

-

-        data = new FormData();

-        data.left = new FormAttachment(heightLabel,

-            ITabbedPropertyConstants.HSPACE);

-        data.right = new FormAttachment(100, 0);

-        data.top = new FormAttachment(0, 0);

-        heightText.setLayoutData(data);

-

-        heightText.addModifyListener(listener);

-        widthText.addModifyListener(listener);

-    }

-

-    /*

-     * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#refresh()

-     */

-    public void refresh() {

-        heightText.removeModifyListener(listener);

-        widthText.removeModifyListener(listener);

-        ButtonElementProperties properties = (ButtonElementProperties) buttonElement

-            .getAdapter(IPropertySource.class);

-        widthText.setText(Integer.toString(properties.ptSize.x));

-        heightText.setText(Integer.toString(properties.ptSize.y));

-        heightText.addModifyListener(listener);

-        widthText.addModifyListener(listener);

-    }

-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.classpath b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.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.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.cvsignore b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.project b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.project
deleted file mode 100644
index 2a990e3..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.views.properties.tabbed.hockeyleague</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.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index d192053..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,78 +0,0 @@
-#Mon Feb 06 11:18:18 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4ba0331..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Tue Jan 31 19:05:26 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return Returns the ${bare_field_name}.\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} The ${bare_field_name} to set.\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) ${year} IBM Corporation and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n *     IBM Corporation - initial API and implementation\r\n ******************************************************************************/\r\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @since 3.2\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template></templates>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index b5e946b..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,15 +0,0 @@
-#Tue Jan 31 19:06:32 EST 2006
-compilers.p.build=1
-compilers.p.deprecated=1
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/META-INF/MANIFEST.MF
deleted file mode 100644
index d130c83..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.ui.examples.views.properties.tabbed.hockeyleague; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-ClassPath: .
-Bundle-Activator: org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin$Implementation
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.examples.views.properties.tabbed.hockeyleague,
- org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl,
- org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider,
- org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.util
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources;visibility:=reexport,
- org.eclipse.emf.ecore;visibility:=reexport,
- org.eclipse.emf.edit;visibility:=reexport,
- org.eclipse.emf.ecore.xmi;visibility:=reexport,
- org.eclipse.ui.ide;visibility:=reexport,
- org.eclipse.ui,
- org.eclipse.emf.edit.ui,
- org.eclipse.ui.views.properties.tabbed
-Eclipse-LazyStart: true
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/about.html b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/build.properties b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/build.properties
deleted file mode 100644
index c762af9..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-bin.includes = .,\
-               model/,\
-               META-INF/,\
-               plugin.xml,\
-               plugin.properties,\
-               about.html,\
-               icons/
-jars.compile.order = .
-source.. = src/
-output.. = bin/
-src.includes = about.html
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateDefence_playerStats_PlayerStats.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateDefence_playerStats_PlayerStats.gif
deleted file mode 100644
index e2dee68..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateDefence_playerStats_PlayerStats.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateForward_playerStats_PlayerStats.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateForward_playerStats_PlayerStats.gif
deleted file mode 100644
index e2dee68..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateForward_playerStats_PlayerStats.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateGoalie_goalieStats_GoalieStats.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateGoalie_goalieStats_GoalieStats.gif
deleted file mode 100644
index e2dee68..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateGoalie_goalieStats_GoalieStats.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateLeague_teams_Team.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateLeague_teams_Team.gif
deleted file mode 100644
index bff88cb..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateLeague_teams_Team.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_arena_Arena.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_arena_Arena.gif
deleted file mode 100644
index 6accb2c..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_arena_Arena.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_defencemen_Defence.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_defencemen_Defence.gif
deleted file mode 100644
index 464f798..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_defencemen_Defence.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_forwards_Forward.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_forwards_Forward.gif
deleted file mode 100644
index e0592df..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_forwards_Forward.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_goalies_Goalie.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_goalies_Goalie.gif
deleted file mode 100644
index 4cfbb15..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/ctool16/CreateTeam_goalies_Goalie.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Arena.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Arena.gif
deleted file mode 100644
index 6accb2c..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Arena.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Defence.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Defence.gif
deleted file mode 100644
index 464f798..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Defence.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Forward.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Forward.gif
deleted file mode 100644
index e0592df..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Forward.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Goalie.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Goalie.gif
deleted file mode 100644
index 4cfbb15..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Goalie.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/GoalieStats.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/GoalieStats.gif
deleted file mode 100644
index e2dee68..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/GoalieStats.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Height.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Height.gif
deleted file mode 100644
index aa8f0a7..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Height.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/HockeyleagueModelFile.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/HockeyleagueModelFile.gif
deleted file mode 100644
index 415a3b6..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/HockeyleagueModelFile.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/HockeyleagueObject.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/HockeyleagueObject.gif
deleted file mode 100644
index ed87474..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/HockeyleagueObject.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/League.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/League.gif
deleted file mode 100644
index b93bab8..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/League.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Player.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Player.gif
deleted file mode 100644
index fe89f46..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Player.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/PlayerStats.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/PlayerStats.gif
deleted file mode 100644
index e2dee68..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/PlayerStats.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Team.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Team.gif
deleted file mode 100644
index bff88cb..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Team.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Weight.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Weight.gif
deleted file mode 100644
index 5d660e7..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/obj16/Weight.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/wizban/NewHockeyleague.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/wizban/NewHockeyleague.gif
deleted file mode 100644
index acfcd36..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/full/wizban/NewHockeyleague.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/hockeyleague.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/hockeyleague.gif
deleted file mode 100644
index b93bab8..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/icons/hockeyleague.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/model/hockeyleague.ecore b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/model/hockeyleague.ecore
deleted file mode 100644
index cac12ba..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/model/hockeyleague.ecore
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague"
-    nsURI="http:///org/eclipse/ui/views/properties/tabbed/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore"
-    nsPrefix="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague">
-  <eClassifiers xsi:type="ecore:EClass" name="Arena" eSuperTypes="#//HockeyleagueObject">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="address" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="capacity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Defence" eSuperTypes="#//Player">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="position" eType="#//DefencePositionKind"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="playerStats" upperBound="-1"
-        eType="#//PlayerStats" containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Forward" eSuperTypes="#//Player">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="position" eType="#//ForwardPositionKind"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="playerStats" upperBound="-1"
-        eType="#//PlayerStats" containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Goalie" eSuperTypes="#//Player">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="goalieStats" upperBound="-1"
-        eType="#//GoalieStats" containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="GoalieStats">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="year" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="team" eType="#//Team"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="gamesPlayedIn" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="minutesPlayedIn" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="goalsAgainstAverage" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="wins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="losses" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ties" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="emptyNetGoals" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="shutouts" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="goalsAgainst" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="saves" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="penaltyMinutes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="goals" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="assists" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="points" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="HockeyleagueObject" abstract="true">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="League" eSuperTypes="#//HockeyleagueObject">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="headoffice" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="teams" upperBound="-1"
-        eType="#//Team" containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Player" abstract="true" eSuperTypes="#//HockeyleagueObject">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="birthplace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="number" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="heightMesurement" eType="#//HeightKind"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="heightValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="weightMesurement" eType="#//WeightKind"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="weightValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="shot" eType="#//ShotKind"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="birthdate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PlayerStats">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="year" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="team" eType="#//Team"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="gamesPlayedIn" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="goals" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="assists" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="points" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="plusMinus" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="penaltyMinutes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="powerPlayGoals" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="shortHandedGoals" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="gameWinningGoals" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="shots" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="shotPercentage" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Team" eSuperTypes="#//HockeyleagueObject">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="forwards" upperBound="-1"
-        eType="#//Forward" containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="defencemen" upperBound="-1"
-        eType="#//Defence" containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="goalies" upperBound="-1"
-        eType="#//Goalie" containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="arena" eType="#//Arena"
-        containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="DefencePositionKind">
-    <eLiterals name="left_defence"/>
-    <eLiterals name="right_defence" value="1"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="ForwardPositionKind">
-    <eLiterals name="left_wing"/>
-    <eLiterals name="right_wing" value="1"/>
-    <eLiterals name="center" value="2"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="HeightKind">
-    <eLiterals name="inches"/>
-    <eLiterals name="centimeters" value="1"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="ShotKind">
-    <eLiterals name="left"/>
-    <eLiterals name="right" value="1"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="WeightKind">
-    <eLiterals name="pounds"/>
-    <eLiterals name="kilograms" value="1"/>
-  </eClassifiers>
-</ecore:EPackage>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/model/hockeyleague.genmodel b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/model/hockeyleague.genmodel
deleted file mode 100644
index 89d2557..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/model/hockeyleague.genmodel
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
-    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src"
-    modelPluginID="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague" modelName="Hockeyleague"
-    nonNLSMarkers="true" importerID="org.eclipse.emf.importer.ecore">
-  <genPackages prefix="Hockeyleague" disposableProviderFactory="true" ecorePackage="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#/">
-    <genEnums ecoreEnum="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//DefencePositionKind">
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//DefencePositionKind/left_defence"/>
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//DefencePositionKind/right_defence"/>
-    </genEnums>
-    <genEnums ecoreEnum="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//ForwardPositionKind">
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//ForwardPositionKind/left_wing"/>
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//ForwardPositionKind/right_wing"/>
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//ForwardPositionKind/center"/>
-    </genEnums>
-    <genEnums ecoreEnum="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//HeightKind">
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//HeightKind/inches"/>
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//HeightKind/centimeters"/>
-    </genEnums>
-    <genEnums ecoreEnum="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//ShotKind">
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//ShotKind/left"/>
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//ShotKind/right"/>
-    </genEnums>
-    <genEnums ecoreEnum="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//WeightKind">
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//WeightKind/pounds"/>
-      <genEnumLiterals ecoreEnumLiteral="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//WeightKind/kilograms"/>
-    </genEnums>
-    <genClasses ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Arena">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Arena/address"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Arena/capacity"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Defence">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Defence/position"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Defence/playerStats"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Forward">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Forward/position"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Forward/playerStats"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Goalie">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Goalie/goalieStats"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/year"/>
-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/team"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/gamesPlayedIn"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/minutesPlayedIn"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/goalsAgainstAverage"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/wins"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/losses"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/ties"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/emptyNetGoals"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/shutouts"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/goalsAgainst"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/saves"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/penaltyMinutes"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/goals"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/assists"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//GoalieStats/points"/>
-    </genClasses>
-    <genClasses image="false" ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//HockeyleagueObject">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//HockeyleagueObject/name"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//League">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//League/headoffice"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//League/teams"/>
-    </genClasses>
-    <genClasses image="false" ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Player">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Player/birthplace"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Player/number"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Player/heightMesurement"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Player/heightValue"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Player/weightMesurement"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Player/weightValue"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Player/shot"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Player/birthdate"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/year"/>
-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/team"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/gamesPlayedIn"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/goals"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/assists"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/points"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/plusMinus"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/penaltyMinutes"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/powerPlayGoals"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/shortHandedGoals"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/gameWinningGoals"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/shots"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//PlayerStats/shotPercentage"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Team">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Team/forwards"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Team/defencemen"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Team/goalies"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore#//Team/arena"/>
-    </genClasses>
-  </genPackages>
-</genmodel:GenModel>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/plugin.properties b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/plugin.properties
deleted file mode 100644
index 1c573a9..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/plugin.properties
+++ /dev/null
@@ -1,146 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName = Tabbed Properties View
-providerName = Eclipse.org
-
-_UI_CreateChild_text = {0}
-_UI_CreateChild_text2 = {1} {0}
-_UI_CreateChild_text3 = {1}
-_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
-_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
-_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
-
-_UI_PropertyDescriptor_description = The {0} of the {1}
-
-_UI_Arena_type = Arena
-_UI_Defence_type = Defence
-_UI_Forward_type = Forward
-_UI_Goalie_type = Goalie
-_UI_GoalieStats_type = Goalie Stats
-_UI_HockeyleagueObject_type = Object
-_UI_League_type = League
-_UI_Player_type = Player
-_UI_PlayerStats_type = Player Stats
-_UI_Team_type = Team
-_UI_Unknown_type = Object
-
-_UI_Unknown_datatype= Value
-
-_UI_Arena_address_feature = Address
-_UI_Arena_capacity_feature = Capacity
-_UI_Defence_position_feature = Position
-_UI_Defence_playerStats_feature = Player Stats
-_UI_Forward_position_feature = Position
-_UI_Forward_playerStats_feature = Player Stats
-_UI_Goalie_goalieStats_feature = Goalie Stats
-_UI_GoalieStats_year_feature = Year
-_UI_GoalieStats_team_feature = Team
-_UI_GoalieStats_gamesPlayedIn_feature = Games Played In
-_UI_GoalieStats_minutesPlayedIn_feature = Minutes Played In
-_UI_GoalieStats_goalsAgainstAverage_feature = Goals Against Average
-_UI_GoalieStats_wins_feature = Wins
-_UI_GoalieStats_losses_feature = Losses
-_UI_GoalieStats_ties_feature = Ties
-_UI_GoalieStats_emptyNetGoals_feature = Empty Net Goals
-_UI_GoalieStats_shutouts_feature = Shutouts
-_UI_GoalieStats_goalsAgainst_feature = Goals Against
-_UI_GoalieStats_saves_feature = Saves
-_UI_GoalieStats_penaltyMinutes_feature = Penalty Minutes
-_UI_GoalieStats_goals_feature = Goals
-_UI_GoalieStats_assists_feature = Assists
-_UI_GoalieStats_points_feature = Points
-_UI_HockeyleagueObject_name_feature = Name
-_UI_League_headoffice_feature = Headoffice
-_UI_League_teams_feature = Teams
-_UI_Player_birthplace_feature = Birthplace
-_UI_Player_number_feature = Number
-_UI_Player_heightMesurement_feature = Height Mesurement
-_UI_Player_heightValue_feature = Height Value
-_UI_Player_weightMesurement_feature = Weight Mesurement
-_UI_Player_weightValue_feature = Weight Value
-_UI_Player_shot_feature = Shot
-_UI_Player_birthdate_feature = Birthdate
-_UI_PlayerStats_year_feature = Year
-_UI_PlayerStats_team_feature = Team
-_UI_PlayerStats_gamesPlayedIn_feature = Games Played In
-_UI_PlayerStats_goals_feature = Goals
-_UI_PlayerStats_assists_feature = Assists
-_UI_PlayerStats_points_feature = Points
-_UI_PlayerStats_plusMinus_feature = Plus Minus
-_UI_PlayerStats_penaltyMinutes_feature = Penalty Minutes
-_UI_PlayerStats_powerPlayGoals_feature = Power Play Goals
-_UI_PlayerStats_shortHandedGoals_feature = Short Handed Goals
-_UI_PlayerStats_gameWinningGoals_feature = Game Winning Goals
-_UI_PlayerStats_shots_feature = Shots
-_UI_PlayerStats_shotPercentage_feature = Shot Percentage
-_UI_Team_forwards_feature = Forwards
-_UI_Team_defencemen_feature = Defencemen
-_UI_Team_goalies_feature = Goalies
-_UI_Team_arena_feature = Arena
-_UI_Unknown_feature = Unspecified
-
-_UI_DefencePositionKind_left_defence_literal = left_defence
-_UI_DefencePositionKind_right_defence_literal = right_defence
-_UI_ForwardPositionKind_left_wing_literal = left_wing
-_UI_ForwardPositionKind_right_wing_literal = right_wing
-_UI_ForwardPositionKind_center_literal = center
-_UI_HeightKind_inches_literal = inches
-_UI_HeightKind_centimeters_literal = centimeters
-_UI_ShotKind_left_literal = left
-_UI_ShotKind_right_literal = right
-_UI_WeightKind_pounds_literal = pounds
-_UI_WeightKind_kilograms_literal = kilograms
-
-_UI_HockeyleagueEditor_menu = &Hockeyleague Editor
-
-_UI_CreateChild_menu_item = &New Child
-_UI_CreateSibling_menu_item = N&ew Sibling
-
-_UI_ShowPropertiesView_menu_item = Show &Properties View
-_UI_RefreshViewer_menu_item = &Refresh
-
-_UI_SelectionPage_label = Selection
-_UI_ParentPage_label = Parent
-_UI_ListPage_label = List
-_UI_TreePage_label = Tree
-_UI_TablePage_label = Table
-_UI_TreeWithColumnsPage_label = Tree with Columns
-_UI_ObjectColumn_label = Object
-_UI_SelfColumn_label = Self
-
-_UI_NoObjectSelected = Selected Nothing
-_UI_SingleObjectSelected = Selected Object: {0}
-_UI_MultiObjectSelected = Selected {0} Objects
-
-_UI_OpenEditorError_label = Open Editor
-
-_UI_Wizard_category = Example EMF Model Creation Wizards
-
-_UI_HockeyleagueModelWizard_label = Hockeyleague Model
-_UI_HockeyleagueModelWizard_description = Create a new Hockeyleague model
-
-_UI_HockeyleagueEditor_label = Hockeyleague Model Editor
-
-_UI_HockeyleagueEditorFilenameDefaultBase = My
-_UI_HockeyleagueEditorFilenameExtension = org.eclipse.ui.examples.views.properties.tabbed.hockeyleague
-
-_UI_Wizard_label = New
-
-_WARN_FilenameExtension = The file name must end in ".{0}"
-
-_UI_ModelObject = Model Object
-_UI_XMLEncoding = XML Encoding
-_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1
-_UI_Wizard_initial_object_description = Select a model object to create
-
-_UI_FileConflict_label = File Conflict
-_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor.  Do you wish to discard this editor's changes?
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/plugin.xml b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/plugin.xml
deleted file mode 100644
index 224f19f..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/plugin.xml
+++ /dev/null
@@ -1,304 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-  <extension point="org.eclipse.emf.ecore.generated_package">
-    <package 
-       uri = "http:///org/eclipse/ui/views/properties/tabbed/examples/hockeyleague.ecore" 
-       class = "org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage"
-       genModel = "model/hockeyleague.genmodel" /> 
-  </extension>
-
-  <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
-    <factory 
-       uri = "http:///org/eclipse/ui/views/properties/tabbed/examples/hockeyleague.ecore" 
-       class = "org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider.HockeyleagueItemProviderAdapterFactory" 
-       supportedTypes = 
-         "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
-          org.eclipse.emf.edit.provider.IStructuredItemContentProvider
-          org.eclipse.emf.edit.provider.ITreeItemContentProvider
-          org.eclipse.emf.edit.provider.IItemLabelProvider
-          org.eclipse.emf.edit.provider.IItemPropertySource" />
-  </extension>
-
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <category
-            name="Tabbed Properties View Examples"
-            parentCategory="org.eclipse.ui.Examples"
-            id="org.eclipse.ui.views.properties.tabbed">
-      </category>
-      <wizard
-            name="Tabbed Properties View Hockey League Example Project"
-            icon="icons/hockeyleague.gif"
-            category="org.eclipse.ui.Examples/org.eclipse.ui.views.properties.tabbed"
-            class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.wizards.NewHockeyleagueProjectWizard"
-            project="true"
-            id="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.wizards.NewHockeyleagueProjectWizard">
-         <description>
-            Create a new Tabbed Properties View Hockey League Example Project
-         </description>
-      </wizard>
-      <wizard
-            name="Tabbed Properties View Hockey League Example File"
-            icon="icons/hockeyleague.gif"
-            category="org.eclipse.ui.Examples/org.eclipse.ui.views.properties.tabbed"
-            class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.wizards.NewHockeyleagueFileWizard"
-            id="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.wizards.NewHockeyleagueFileWizard">
-         <description>
-            Create a new Tabbed Properties View Hockey League Example File
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="Hockey League Editor"
-            icon="icons/hockeyleague.gif"
-            extensions="hockeyleague"
-            contributorClass="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor.HockeyleagueActionBarContributor"
-            class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor.HockeyleagueEditor"
-            id="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor.HockeyleagueEditor">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
-      <propertyContributor
-            labelProvider="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.HockeyleagueLabelProvider"
-            contributorId="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague">
-         <propertyCategory
-               category="default">
-         </propertyCategory>
-         <propertyCategory
-               category="advanced">
-         </propertyCategory>
-      </propertyContributor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertyTabs">
-      <propertyTabs
-            contributorId="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague">
-         <propertyTab
-               label="Advanced"
-               category="advanced"
-               id="hockeyleague.tab.Advanced">
-         </propertyTab>
-         <propertyTab
-               label="General"
-               category="default"
-               id="hockeyleague.tab.General">
-         </propertyTab>
-         <propertyTab
-               label="Born"
-               category="default"
-               afterTab="hockeyleague.tab.General"
-               id="hockeyleague.tab.Born">
-         </propertyTab>
-         <propertyTab
-               label="Measurements"
-               category="default"
-               afterTab="hockeyleague.tab.Born"
-               id="hockeyleague.tab.Measurements">
-         </propertyTab>
-         <propertyTab
-               label="Forwards"
-               category="default"
-               afterTab="hockeyleague.tab.Measurements"
-               id="hockeyleague.tab.Forwards">
-         </propertyTab>
-         <propertyTab
-               label="Defencemen"
-               category="default"
-               afterTab="hockeyleague.tab.Measurements"
-               id="hockeyleague.tab.Defencemen">
-         </propertyTab>
-         <propertyTab
-               label="Goalies"
-               category="default"
-               afterTab="hockeyleague.tab.Measurements"
-               id="hockeyleague.tab.Goalies">
-         </propertyTab>
-         <propertyTab
-               label="Statistics"
-               category="default"
-               afterTab="hockeyleague.tab.Measurements"
-               id="hockeyleague.tab.Statistics">
-         </propertyTab>
-         <propertyTab
-               label="Teams"
-               category="default"
-               afterTab="hockeyleague.tab.General"
-               id="hockeyleague.tab.Teams">
-         </propertyTab>
-      </propertyTabs>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertySections">
-      <propertySections
-            contributorId="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague">
-         <propertySection
-               tab="hockeyleague.tab.General"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.NamePropertySection"
-               id="hockeyleague.section.Name">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Advanced"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AdvancedPropertySection"
-               id="hockeyleague.section.Advanced">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject">
-            </input>
-            <input type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats"/>
-            <input type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats"/>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.General"
-               afterSection="hockeyleague.section.Name"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AddressPropertySection"
-               id="hockeyleague.section.Address">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.General"
-               afterSection="hockeyleague.section.Name"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.HeadOfficePropertySection"
-               id="hockeyleague.section.Headoffice">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.General"
-               afterSection="hockeyleague.section.Name"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.NumberPropertySection"
-               id="hockeyleague.section.Number">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.General"
-               afterSection="hockeyleague.section.Number"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.ShotPropertySection"
-               id="hockeyleague.section.Shot">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.General"
-               afterSection="hockeyleague.section.Address"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.CapacityPropertySection"
-               id="hockeyleague.section.Capacity">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Born"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.BirthDatePropertySection"
-               id="hockeyleague.section.BirthDate">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Born"
-               afterSection="hockeyleague.section.BirthDate"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.BirthPlacePropertySection"
-               id="hockeyleague.section.BirthPlace">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Measurements"
-               afterSection="hockeyleague.section.Weight"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.HeightPropertySection"
-               id="hockeyleague.section.Height">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Measurements"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.WeightPropertySection"
-               id="hockeyleague.section.Weight">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Forwards"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.ForwardsPropertySection"
-               id="hockeyleague.section.Forwards">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Goalies"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.GoaliesPropertySection"
-               id="hockeyleague.section.Goalies">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Defencemen"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.DefencemenPropertySection"
-               id="hockeyleague.section.Defencemen">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Teams"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.TeamsPropertySection"
-               id="hockeyleague.section.Teams">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.Statistics"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.PlayerStatsPropertySection"
-               id="hockeyleague.section.PlayerStats">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward">
-            </input>
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.General"
-               afterSection="hockeyleague.section.Shot"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.ForwardPositionPropertySection"
-               id="hockeyleague.section.ForwardPosition">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="hockeyleague.tab.General"
-               afterSection="hockeyleague.section.Shot"
-               class="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.DefencePositionPropertySection"
-               id="hockeyleague.section.DefencePosition">
-            <input
-                  type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence">
-            </input>
-         </propertySection>
-      </propertySections>
-   </extension>
-</plugin>
-
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Arena.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Arena.java
deleted file mode 100644
index 33db219..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Arena.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Arena</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena#getAddress <em>Address</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena#getCapacity <em>Capacity</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getArena()
- * @model
- * @generated
- */
-public interface Arena extends HockeyleagueObject {
-	/**
-	 * Returns the value of the '<em><b>Address</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Address</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Address</em>' attribute.
-	 * @see #setAddress(String)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getArena_Address()
-	 * @model
-	 * @generated
-	 */
-	String getAddress();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena#getAddress <em>Address</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Address</em>' attribute.
-	 * @see #getAddress()
-	 * @generated
-	 */
-	void setAddress(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Capacity</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Capacity</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Capacity</em>' attribute.
-	 * @see #setCapacity(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getArena_Capacity()
-	 * @model
-	 * @generated
-	 */
-	int getCapacity();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena#getCapacity <em>Capacity</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Capacity</em>' attribute.
-	 * @see #getCapacity()
-	 * @generated
-	 */
-	void setCapacity(int value);
-
-} // Arena
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Defence.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Defence.java
deleted file mode 100644
index a15edb2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Defence.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Defence</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence#getPosition <em>Position</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence#getPlayerStats <em>Player Stats</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getDefence()
- * @model
- * @generated
- */
-public interface Defence extends Player {
-	/**
-	 * Returns the value of the '<em><b>Position</b></em>' attribute.
-	 * The literals are from the enumeration {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Position</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Position</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind
-	 * @see #setPosition(DefencePositionKind)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getDefence_Position()
-	 * @model
-	 * @generated
-	 */
-	DefencePositionKind getPosition();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence#getPosition <em>Position</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Position</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind
-	 * @see #getPosition()
-	 * @generated
-	 */
-	void setPosition(DefencePositionKind value);
-
-	/**
-	 * Returns the value of the '<em><b>Player Stats</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Player Stats</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Player Stats</em>' containment reference list.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getDefence_PlayerStats()
-	 * @model type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats" containment="true"
-	 * @generated
-	 */
-	EList getPlayerStats();
-
-} // Defence
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/DefencePositionKind.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/DefencePositionKind.java
deleted file mode 100644
index 0f68acd..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/DefencePositionKind.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Defence Position Kind</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getDefencePositionKind()
- * @model
- * @generated
- */
-public final class DefencePositionKind extends AbstractEnumerator {
-	/**
-	 * The '<em><b>Left defence</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Left defence</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #LEFT_DEFENCE_LITERAL
-	 * @model name="left_defence"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int LEFT_DEFENCE = 0;
-
-	/**
-	 * The '<em><b>Right defence</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Right defence</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #RIGHT_DEFENCE_LITERAL
-	 * @model name="right_defence"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int RIGHT_DEFENCE = 1;
-
-	/**
-	 * The '<em><b>Left defence</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #LEFT_DEFENCE
-	 * @generated
-	 * @ordered
-	 */
-	public static final DefencePositionKind LEFT_DEFENCE_LITERAL = new DefencePositionKind(LEFT_DEFENCE, "left_defence", "left_defence"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * The '<em><b>Right defence</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #RIGHT_DEFENCE
-	 * @generated
-	 * @ordered
-	 */
-	public static final DefencePositionKind RIGHT_DEFENCE_LITERAL = new DefencePositionKind(RIGHT_DEFENCE, "right_defence", "right_defence"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * An array of all the '<em><b>Defence Position Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static final DefencePositionKind[] VALUES_ARRAY =
-		new DefencePositionKind[] {
-			LEFT_DEFENCE_LITERAL,
-			RIGHT_DEFENCE_LITERAL,
-		};
-
-	/**
-	 * A public read-only list of all the '<em><b>Defence Position Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-	/**
-	 * Returns the '<em><b>Defence Position Kind</b></em>' literal with the specified literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static DefencePositionKind get(String literal) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			DefencePositionKind result = VALUES_ARRAY[i];
-			if (result.toString().equals(literal)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Defence Position Kind</b></em>' literal with the specified name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static DefencePositionKind getByName(String name) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			DefencePositionKind result = VALUES_ARRAY[i];
-			if (result.getName().equals(name)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Defence Position Kind</b></em>' literal with the specified integer value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static DefencePositionKind get(int value) {
-		switch (value) {
-			case LEFT_DEFENCE: return LEFT_DEFENCE_LITERAL;
-			case RIGHT_DEFENCE: return RIGHT_DEFENCE_LITERAL;
-		}
-		return null;	
-	}
-
-	/**
-	 * Only this class can construct instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private DefencePositionKind(int value, String name, String literal) {
-		super(value, name, literal);
-	}
-
-} //DefencePositionKind
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Forward.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Forward.java
deleted file mode 100644
index 3ebed14..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Forward.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Forward</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward#getPosition <em>Position</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward#getPlayerStats <em>Player Stats</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getForward()
- * @model
- * @generated
- */
-public interface Forward extends Player {
-	/**
-	 * Returns the value of the '<em><b>Position</b></em>' attribute.
-	 * The literals are from the enumeration {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Position</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Position</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind
-	 * @see #setPosition(ForwardPositionKind)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getForward_Position()
-	 * @model
-	 * @generated
-	 */
-	ForwardPositionKind getPosition();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward#getPosition <em>Position</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Position</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind
-	 * @see #getPosition()
-	 * @generated
-	 */
-	void setPosition(ForwardPositionKind value);
-
-	/**
-	 * Returns the value of the '<em><b>Player Stats</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Player Stats</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Player Stats</em>' containment reference list.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getForward_PlayerStats()
-	 * @model type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats" containment="true"
-	 * @generated
-	 */
-	EList getPlayerStats();
-
-} // Forward
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ForwardPositionKind.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ForwardPositionKind.java
deleted file mode 100644
index 9a4be03..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ForwardPositionKind.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Forward Position Kind</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getForwardPositionKind()
- * @model
- * @generated
- */
-public final class ForwardPositionKind extends AbstractEnumerator {
-	/**
-	 * The '<em><b>Left wing</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Left wing</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #LEFT_WING_LITERAL
-	 * @model name="left_wing"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int LEFT_WING = 0;
-
-	/**
-	 * The '<em><b>Right wing</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Right wing</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #RIGHT_WING_LITERAL
-	 * @model name="right_wing"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int RIGHT_WING = 1;
-
-	/**
-	 * The '<em><b>Center</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Center</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #CENTER_LITERAL
-	 * @model name="center"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int CENTER = 2;
-
-	/**
-	 * The '<em><b>Left wing</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #LEFT_WING
-	 * @generated
-	 * @ordered
-	 */
-	public static final ForwardPositionKind LEFT_WING_LITERAL = new ForwardPositionKind(LEFT_WING, "left_wing", "left_wing"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * The '<em><b>Right wing</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #RIGHT_WING
-	 * @generated
-	 * @ordered
-	 */
-	public static final ForwardPositionKind RIGHT_WING_LITERAL = new ForwardPositionKind(RIGHT_WING, "right_wing", "right_wing"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * The '<em><b>Center</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #CENTER
-	 * @generated
-	 * @ordered
-	 */
-	public static final ForwardPositionKind CENTER_LITERAL = new ForwardPositionKind(CENTER, "center", "center"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * An array of all the '<em><b>Forward Position Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static final ForwardPositionKind[] VALUES_ARRAY =
-		new ForwardPositionKind[] {
-			LEFT_WING_LITERAL,
-			RIGHT_WING_LITERAL,
-			CENTER_LITERAL,
-		};
-
-	/**
-	 * A public read-only list of all the '<em><b>Forward Position Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-	/**
-	 * Returns the '<em><b>Forward Position Kind</b></em>' literal with the specified literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static ForwardPositionKind get(String literal) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			ForwardPositionKind result = VALUES_ARRAY[i];
-			if (result.toString().equals(literal)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Forward Position Kind</b></em>' literal with the specified name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static ForwardPositionKind getByName(String name) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			ForwardPositionKind result = VALUES_ARRAY[i];
-			if (result.getName().equals(name)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Forward Position Kind</b></em>' literal with the specified integer value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static ForwardPositionKind get(int value) {
-		switch (value) {
-			case LEFT_WING: return LEFT_WING_LITERAL;
-			case RIGHT_WING: return RIGHT_WING_LITERAL;
-			case CENTER: return CENTER_LITERAL;
-		}
-		return null;	
-	}
-
-	/**
-	 * Only this class can construct instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private ForwardPositionKind(int value, String name, String literal) {
-		super(value, name, literal);
-	}
-
-} //ForwardPositionKind
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Goalie.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Goalie.java
deleted file mode 100644
index 6e287c5..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Goalie.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Goalie</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie#getGoalieStats <em>Goalie Stats</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalie()
- * @model
- * @generated
- */
-public interface Goalie extends Player {
-	/**
-	 * Returns the value of the '<em><b>Goalie Stats</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Goalie Stats</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Goalie Stats</em>' containment reference list.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalie_GoalieStats()
-	 * @model type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats" containment="true"
-	 * @generated
-	 */
-	EList getGoalieStats();
-
-} // Goalie
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/GoalieStats.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/GoalieStats.java
deleted file mode 100644
index f2eed7a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/GoalieStats.java
+++ /dev/null
@@ -1,463 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Goalie Stats</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getYear <em>Year</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getTeam <em>Team</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGamesPlayedIn <em>Games Played In</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getMinutesPlayedIn <em>Minutes Played In</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoalsAgainstAverage <em>Goals Against Average</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getWins <em>Wins</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getLosses <em>Losses</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getTies <em>Ties</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getEmptyNetGoals <em>Empty Net Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getShutouts <em>Shutouts</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoalsAgainst <em>Goals Against</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getSaves <em>Saves</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getPenaltyMinutes <em>Penalty Minutes</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoals <em>Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getAssists <em>Assists</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getPoints <em>Points</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats()
- * @model
- * @generated
- */
-public interface GoalieStats extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Year</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Year</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Year</em>' attribute.
-	 * @see #setYear(String)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Year()
-	 * @model
-	 * @generated
-	 */
-	String getYear();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getYear <em>Year</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Year</em>' attribute.
-	 * @see #getYear()
-	 * @generated
-	 */
-	void setYear(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Team</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Team</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Team</em>' reference.
-	 * @see #setTeam(Team)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Team()
-	 * @model
-	 * @generated
-	 */
-	Team getTeam();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getTeam <em>Team</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Team</em>' reference.
-	 * @see #getTeam()
-	 * @generated
-	 */
-	void setTeam(Team value);
-
-	/**
-	 * Returns the value of the '<em><b>Games Played In</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Games Played In</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Games Played In</em>' attribute.
-	 * @see #setGamesPlayedIn(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_GamesPlayedIn()
-	 * @model
-	 * @generated
-	 */
-	int getGamesPlayedIn();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGamesPlayedIn <em>Games Played In</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Games Played In</em>' attribute.
-	 * @see #getGamesPlayedIn()
-	 * @generated
-	 */
-	void setGamesPlayedIn(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Minutes Played In</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Minutes Played In</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Minutes Played In</em>' attribute.
-	 * @see #setMinutesPlayedIn(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_MinutesPlayedIn()
-	 * @model
-	 * @generated
-	 */
-	int getMinutesPlayedIn();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getMinutesPlayedIn <em>Minutes Played In</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Minutes Played In</em>' attribute.
-	 * @see #getMinutesPlayedIn()
-	 * @generated
-	 */
-	void setMinutesPlayedIn(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Goals Against Average</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Goals Against Average</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Goals Against Average</em>' attribute.
-	 * @see #setGoalsAgainstAverage(float)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_GoalsAgainstAverage()
-	 * @model
-	 * @generated
-	 */
-	float getGoalsAgainstAverage();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoalsAgainstAverage <em>Goals Against Average</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Goals Against Average</em>' attribute.
-	 * @see #getGoalsAgainstAverage()
-	 * @generated
-	 */
-	void setGoalsAgainstAverage(float value);
-
-	/**
-	 * Returns the value of the '<em><b>Wins</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Wins</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Wins</em>' attribute.
-	 * @see #setWins(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Wins()
-	 * @model
-	 * @generated
-	 */
-	int getWins();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getWins <em>Wins</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Wins</em>' attribute.
-	 * @see #getWins()
-	 * @generated
-	 */
-	void setWins(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Losses</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Losses</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Losses</em>' attribute.
-	 * @see #setLosses(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Losses()
-	 * @model
-	 * @generated
-	 */
-	int getLosses();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getLosses <em>Losses</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Losses</em>' attribute.
-	 * @see #getLosses()
-	 * @generated
-	 */
-	void setLosses(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Ties</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Ties</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Ties</em>' attribute.
-	 * @see #setTies(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Ties()
-	 * @model
-	 * @generated
-	 */
-	int getTies();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getTies <em>Ties</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Ties</em>' attribute.
-	 * @see #getTies()
-	 * @generated
-	 */
-	void setTies(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Empty Net Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Empty Net Goals</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Empty Net Goals</em>' attribute.
-	 * @see #setEmptyNetGoals(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_EmptyNetGoals()
-	 * @model
-	 * @generated
-	 */
-	int getEmptyNetGoals();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getEmptyNetGoals <em>Empty Net Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Empty Net Goals</em>' attribute.
-	 * @see #getEmptyNetGoals()
-	 * @generated
-	 */
-	void setEmptyNetGoals(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Shutouts</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Shutouts</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Shutouts</em>' attribute.
-	 * @see #setShutouts(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Shutouts()
-	 * @model
-	 * @generated
-	 */
-	int getShutouts();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getShutouts <em>Shutouts</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Shutouts</em>' attribute.
-	 * @see #getShutouts()
-	 * @generated
-	 */
-	void setShutouts(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Goals Against</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Goals Against</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Goals Against</em>' attribute.
-	 * @see #setGoalsAgainst(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_GoalsAgainst()
-	 * @model
-	 * @generated
-	 */
-	int getGoalsAgainst();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoalsAgainst <em>Goals Against</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Goals Against</em>' attribute.
-	 * @see #getGoalsAgainst()
-	 * @generated
-	 */
-	void setGoalsAgainst(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Saves</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Saves</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Saves</em>' attribute.
-	 * @see #setSaves(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Saves()
-	 * @model
-	 * @generated
-	 */
-	int getSaves();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getSaves <em>Saves</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Saves</em>' attribute.
-	 * @see #getSaves()
-	 * @generated
-	 */
-	void setSaves(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Penalty Minutes</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Penalty Minutes</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Penalty Minutes</em>' attribute.
-	 * @see #setPenaltyMinutes(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_PenaltyMinutes()
-	 * @model
-	 * @generated
-	 */
-	int getPenaltyMinutes();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getPenaltyMinutes <em>Penalty Minutes</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Penalty Minutes</em>' attribute.
-	 * @see #getPenaltyMinutes()
-	 * @generated
-	 */
-	void setPenaltyMinutes(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Goals</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Goals</em>' attribute.
-	 * @see #setGoals(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Goals()
-	 * @model
-	 * @generated
-	 */
-	int getGoals();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoals <em>Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Goals</em>' attribute.
-	 * @see #getGoals()
-	 * @generated
-	 */
-	void setGoals(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Assists</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Assists</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Assists</em>' attribute.
-	 * @see #setAssists(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Assists()
-	 * @model
-	 * @generated
-	 */
-	int getAssists();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getAssists <em>Assists</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Assists</em>' attribute.
-	 * @see #getAssists()
-	 * @generated
-	 */
-	void setAssists(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Points</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Points</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Points</em>' attribute.
-	 * @see #setPoints(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getGoalieStats_Points()
-	 * @model
-	 * @generated
-	 */
-	int getPoints();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getPoints <em>Points</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Points</em>' attribute.
-	 * @see #getPoints()
-	 * @generated
-	 */
-	void setPoints(int value);
-
-} // GoalieStats
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HeightKind.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HeightKind.java
deleted file mode 100644
index 4f3341b..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HeightKind.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Height Kind</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getHeightKind()
- * @model
- * @generated
- */
-public final class HeightKind extends AbstractEnumerator {
-	/**
-	 * The '<em><b>Inches</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Inches</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #INCHES_LITERAL
-	 * @model name="inches"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int INCHES = 0;
-
-	/**
-	 * The '<em><b>Centimeters</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Centimeters</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #CENTIMETERS_LITERAL
-	 * @model name="centimeters"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int CENTIMETERS = 1;
-
-	/**
-	 * The '<em><b>Inches</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #INCHES
-	 * @generated
-	 * @ordered
-	 */
-	public static final HeightKind INCHES_LITERAL = new HeightKind(INCHES, "inches", "inches"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * The '<em><b>Centimeters</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #CENTIMETERS
-	 * @generated
-	 * @ordered
-	 */
-	public static final HeightKind CENTIMETERS_LITERAL = new HeightKind(CENTIMETERS, "centimeters", "centimeters"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * An array of all the '<em><b>Height Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static final HeightKind[] VALUES_ARRAY =
-		new HeightKind[] {
-			INCHES_LITERAL,
-			CENTIMETERS_LITERAL,
-		};
-
-	/**
-	 * A public read-only list of all the '<em><b>Height Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-	/**
-	 * Returns the '<em><b>Height Kind</b></em>' literal with the specified literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static HeightKind get(String literal) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			HeightKind result = VALUES_ARRAY[i];
-			if (result.toString().equals(literal)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Height Kind</b></em>' literal with the specified name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static HeightKind getByName(String name) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			HeightKind result = VALUES_ARRAY[i];
-			if (result.getName().equals(name)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Height Kind</b></em>' literal with the specified integer value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static HeightKind get(int value) {
-		switch (value) {
-			case INCHES: return INCHES_LITERAL;
-			case CENTIMETERS: return CENTIMETERS_LITERAL;
-		}
-		return null;	
-	}
-
-	/**
-	 * Only this class can construct instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private HeightKind(int value, String name, String literal) {
-		super(value, name, literal);
-	}
-
-} //HeightKind
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleagueFactory.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleagueFactory.java
deleted file mode 100644
index d796d2b..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleagueFactory.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage
- * @generated
- */
-public interface HockeyleagueFactory extends EFactory {
-	/**
-	 * The singleton instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	HockeyleagueFactory eINSTANCE = org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleagueFactoryImpl.init();
-
-	/**
-	 * Returns a new object of class '<em>Arena</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Arena</em>'.
-	 * @generated
-	 */
-	Arena createArena();
-
-	/**
-	 * Returns a new object of class '<em>Defence</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Defence</em>'.
-	 * @generated
-	 */
-	Defence createDefence();
-
-	/**
-	 * Returns a new object of class '<em>Forward</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Forward</em>'.
-	 * @generated
-	 */
-	Forward createForward();
-
-	/**
-	 * Returns a new object of class '<em>Goalie</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Goalie</em>'.
-	 * @generated
-	 */
-	Goalie createGoalie();
-
-	/**
-	 * Returns a new object of class '<em>Goalie Stats</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Goalie Stats</em>'.
-	 * @generated
-	 */
-	GoalieStats createGoalieStats();
-
-	/**
-	 * Returns a new object of class '<em>League</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>League</em>'.
-	 * @generated
-	 */
-	League createLeague();
-
-	/**
-	 * Returns a new object of class '<em>Player Stats</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Player Stats</em>'.
-	 * @generated
-	 */
-	PlayerStats createPlayerStats();
-
-	/**
-	 * Returns a new object of class '<em>Team</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Team</em>'.
-	 * @generated
-	 */
-	Team createTeam();
-
-	/**
-	 * Returns the package supported by this factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the package supported by this factory.
-	 * @generated
-	 */
-	HockeyleaguePackage getHockeyleaguePackage();
-
-} //HockeyleagueFactory
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleagueObject.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleagueObject.java
deleted file mode 100644
index acb0766..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleagueObject.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Object</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject#getName <em>Name</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getHockeyleagueObject()
- * @model abstract="true"
- * @generated
- */
-public interface HockeyleagueObject extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Name</em>' attribute.
-	 * @see #setName(String)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getHockeyleagueObject_Name()
-	 * @model
-	 * @generated
-	 */
-	String getName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject#getName <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Name</em>' attribute.
-	 * @see #getName()
-	 * @generated
-	 */
-	void setName(String value);
-
-} // HockeyleagueObject
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleaguePackage.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleaguePackage.java
deleted file mode 100644
index a2eb444..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleaguePackage.java
+++ /dev/null
@@ -1,2339 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- *   <li>each class,</li>
- *   <li>each feature of each class,</li>
- *   <li>each enum,</li>
- *   <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory
- * @model kind="package"
- * @generated
- */
-public interface HockeyleaguePackage extends EPackage {
-	/**
-	 * The package name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNAME = "org.eclipse.ui.examples.views.properties.tabbed.hockeyleague"; //$NON-NLS-1$
-
-	/**
-	 * The package namespace URI.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_URI = "http:///org/eclipse/ui/views/properties/tabbed/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore"; //$NON-NLS-1$
-
-	/**
-	 * The package namespace name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_PREFIX = "org.eclipse.ui.examples.views.properties.tabbed.hockeyleague"; //$NON-NLS-1$
-
-	/**
-	 * The singleton instance of the package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	HockeyleaguePackage eINSTANCE = org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl.init();
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleagueObjectImpl <em>Object</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleagueObjectImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getHockeyleagueObject()
-	 * @generated
-	 */
-	int HOCKEYLEAGUE_OBJECT = 5;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int HOCKEYLEAGUE_OBJECT__NAME = 0;
-
-	/**
-	 * The number of structural features of the '<em>Object</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int HOCKEYLEAGUE_OBJECT_FEATURE_COUNT = 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ArenaImpl <em>Arena</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ArenaImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getArena()
-	 * @generated
-	 */
-	int ARENA = 0;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARENA__NAME = HOCKEYLEAGUE_OBJECT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Address</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARENA__ADDRESS = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Capacity</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARENA__CAPACITY = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the '<em>Arena</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARENA_FEATURE_COUNT = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl <em>Player</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getPlayer()
-	 * @generated
-	 */
-	int PLAYER = 7;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER__NAME = HOCKEYLEAGUE_OBJECT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Birthplace</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER__BIRTHPLACE = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Number</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER__NUMBER = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Height Mesurement</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER__HEIGHT_MESUREMENT = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Height Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER__HEIGHT_VALUE = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Weight Mesurement</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER__WEIGHT_MESUREMENT = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Weight Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER__WEIGHT_VALUE = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>Shot</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER__SHOT = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 6;
-
-	/**
-	 * The feature id for the '<em><b>Birthdate</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER__BIRTHDATE = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 7;
-
-	/**
-	 * The number of structural features of the '<em>Player</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_FEATURE_COUNT = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 8;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.DefenceImpl <em>Defence</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.DefenceImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getDefence()
-	 * @generated
-	 */
-	int DEFENCE = 1;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__NAME = PLAYER__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Birthplace</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__BIRTHPLACE = PLAYER__BIRTHPLACE;
-
-	/**
-	 * The feature id for the '<em><b>Number</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__NUMBER = PLAYER__NUMBER;
-
-	/**
-	 * The feature id for the '<em><b>Height Mesurement</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__HEIGHT_MESUREMENT = PLAYER__HEIGHT_MESUREMENT;
-
-	/**
-	 * The feature id for the '<em><b>Height Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__HEIGHT_VALUE = PLAYER__HEIGHT_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>Weight Mesurement</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__WEIGHT_MESUREMENT = PLAYER__WEIGHT_MESUREMENT;
-
-	/**
-	 * The feature id for the '<em><b>Weight Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__WEIGHT_VALUE = PLAYER__WEIGHT_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>Shot</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__SHOT = PLAYER__SHOT;
-
-	/**
-	 * The feature id for the '<em><b>Birthdate</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__BIRTHDATE = PLAYER__BIRTHDATE;
-
-	/**
-	 * The feature id for the '<em><b>Position</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__POSITION = PLAYER_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Player Stats</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE__PLAYER_STATS = PLAYER_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the '<em>Defence</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFENCE_FEATURE_COUNT = PLAYER_FEATURE_COUNT + 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ForwardImpl <em>Forward</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ForwardImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getForward()
-	 * @generated
-	 */
-	int FORWARD = 2;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__NAME = PLAYER__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Birthplace</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__BIRTHPLACE = PLAYER__BIRTHPLACE;
-
-	/**
-	 * The feature id for the '<em><b>Number</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__NUMBER = PLAYER__NUMBER;
-
-	/**
-	 * The feature id for the '<em><b>Height Mesurement</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__HEIGHT_MESUREMENT = PLAYER__HEIGHT_MESUREMENT;
-
-	/**
-	 * The feature id for the '<em><b>Height Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__HEIGHT_VALUE = PLAYER__HEIGHT_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>Weight Mesurement</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__WEIGHT_MESUREMENT = PLAYER__WEIGHT_MESUREMENT;
-
-	/**
-	 * The feature id for the '<em><b>Weight Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__WEIGHT_VALUE = PLAYER__WEIGHT_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>Shot</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__SHOT = PLAYER__SHOT;
-
-	/**
-	 * The feature id for the '<em><b>Birthdate</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__BIRTHDATE = PLAYER__BIRTHDATE;
-
-	/**
-	 * The feature id for the '<em><b>Position</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__POSITION = PLAYER_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Player Stats</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD__PLAYER_STATS = PLAYER_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the '<em>Forward</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORWARD_FEATURE_COUNT = PLAYER_FEATURE_COUNT + 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieImpl <em>Goalie</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getGoalie()
-	 * @generated
-	 */
-	int GOALIE = 3;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__NAME = PLAYER__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Birthplace</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__BIRTHPLACE = PLAYER__BIRTHPLACE;
-
-	/**
-	 * The feature id for the '<em><b>Number</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__NUMBER = PLAYER__NUMBER;
-
-	/**
-	 * The feature id for the '<em><b>Height Mesurement</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__HEIGHT_MESUREMENT = PLAYER__HEIGHT_MESUREMENT;
-
-	/**
-	 * The feature id for the '<em><b>Height Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__HEIGHT_VALUE = PLAYER__HEIGHT_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>Weight Mesurement</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__WEIGHT_MESUREMENT = PLAYER__WEIGHT_MESUREMENT;
-
-	/**
-	 * The feature id for the '<em><b>Weight Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__WEIGHT_VALUE = PLAYER__WEIGHT_VALUE;
-
-	/**
-	 * The feature id for the '<em><b>Shot</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__SHOT = PLAYER__SHOT;
-
-	/**
-	 * The feature id for the '<em><b>Birthdate</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__BIRTHDATE = PLAYER__BIRTHDATE;
-
-	/**
-	 * The feature id for the '<em><b>Goalie Stats</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE__GOALIE_STATS = PLAYER_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the '<em>Goalie</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_FEATURE_COUNT = PLAYER_FEATURE_COUNT + 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl <em>Goalie Stats</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getGoalieStats()
-	 * @generated
-	 */
-	int GOALIE_STATS = 4;
-
-	/**
-	 * The feature id for the '<em><b>Year</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__YEAR = 0;
-
-	/**
-	 * The feature id for the '<em><b>Team</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__TEAM = 1;
-
-	/**
-	 * The feature id for the '<em><b>Games Played In</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__GAMES_PLAYED_IN = 2;
-
-	/**
-	 * The feature id for the '<em><b>Minutes Played In</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__MINUTES_PLAYED_IN = 3;
-
-	/**
-	 * The feature id for the '<em><b>Goals Against Average</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__GOALS_AGAINST_AVERAGE = 4;
-
-	/**
-	 * The feature id for the '<em><b>Wins</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__WINS = 5;
-
-	/**
-	 * The feature id for the '<em><b>Losses</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__LOSSES = 6;
-
-	/**
-	 * The feature id for the '<em><b>Ties</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__TIES = 7;
-
-	/**
-	 * The feature id for the '<em><b>Empty Net Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__EMPTY_NET_GOALS = 8;
-
-	/**
-	 * The feature id for the '<em><b>Shutouts</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__SHUTOUTS = 9;
-
-	/**
-	 * The feature id for the '<em><b>Goals Against</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__GOALS_AGAINST = 10;
-
-	/**
-	 * The feature id for the '<em><b>Saves</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__SAVES = 11;
-
-	/**
-	 * The feature id for the '<em><b>Penalty Minutes</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__PENALTY_MINUTES = 12;
-
-	/**
-	 * The feature id for the '<em><b>Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__GOALS = 13;
-
-	/**
-	 * The feature id for the '<em><b>Assists</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__ASSISTS = 14;
-
-	/**
-	 * The feature id for the '<em><b>Points</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS__POINTS = 15;
-
-	/**
-	 * The number of structural features of the '<em>Goalie Stats</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GOALIE_STATS_FEATURE_COUNT = 16;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.LeagueImpl <em>League</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.LeagueImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getLeague()
-	 * @generated
-	 */
-	int LEAGUE = 6;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LEAGUE__NAME = HOCKEYLEAGUE_OBJECT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Headoffice</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LEAGUE__HEADOFFICE = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Teams</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LEAGUE__TEAMS = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the '<em>League</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LEAGUE_FEATURE_COUNT = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl <em>Player Stats</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getPlayerStats()
-	 * @generated
-	 */
-	int PLAYER_STATS = 8;
-
-	/**
-	 * The feature id for the '<em><b>Year</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__YEAR = 0;
-
-	/**
-	 * The feature id for the '<em><b>Team</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__TEAM = 1;
-
-	/**
-	 * The feature id for the '<em><b>Games Played In</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__GAMES_PLAYED_IN = 2;
-
-	/**
-	 * The feature id for the '<em><b>Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__GOALS = 3;
-
-	/**
-	 * The feature id for the '<em><b>Assists</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__ASSISTS = 4;
-
-	/**
-	 * The feature id for the '<em><b>Points</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__POINTS = 5;
-
-	/**
-	 * The feature id for the '<em><b>Plus Minus</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__PLUS_MINUS = 6;
-
-	/**
-	 * The feature id for the '<em><b>Penalty Minutes</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__PENALTY_MINUTES = 7;
-
-	/**
-	 * The feature id for the '<em><b>Power Play Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__POWER_PLAY_GOALS = 8;
-
-	/**
-	 * The feature id for the '<em><b>Short Handed Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__SHORT_HANDED_GOALS = 9;
-
-	/**
-	 * The feature id for the '<em><b>Game Winning Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__GAME_WINNING_GOALS = 10;
-
-	/**
-	 * The feature id for the '<em><b>Shots</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__SHOTS = 11;
-
-	/**
-	 * The feature id for the '<em><b>Shot Percentage</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS__SHOT_PERCENTAGE = 12;
-
-	/**
-	 * The number of structural features of the '<em>Player Stats</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PLAYER_STATS_FEATURE_COUNT = 13;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.TeamImpl <em>Team</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.TeamImpl
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getTeam()
-	 * @generated
-	 */
-	int TEAM = 9;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEAM__NAME = HOCKEYLEAGUE_OBJECT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Forwards</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEAM__FORWARDS = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Defencemen</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEAM__DEFENCEMEN = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Goalies</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEAM__GOALIES = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Arena</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEAM__ARENA = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 3;
-
-	/**
-	 * The number of structural features of the '<em>Team</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEAM_FEATURE_COUNT = HOCKEYLEAGUE_OBJECT_FEATURE_COUNT + 4;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind <em>Defence Position Kind</em>}' enum.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getDefencePositionKind()
-	 * @generated
-	 */
-	int DEFENCE_POSITION_KIND = 10;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind <em>Forward Position Kind</em>}' enum.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getForwardPositionKind()
-	 * @generated
-	 */
-	int FORWARD_POSITION_KIND = 11;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind <em>Height Kind</em>}' enum.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getHeightKind()
-	 * @generated
-	 */
-	int HEIGHT_KIND = 12;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind <em>Shot Kind</em>}' enum.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getShotKind()
-	 * @generated
-	 */
-	int SHOT_KIND = 13;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind <em>Weight Kind</em>}' enum.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getWeightKind()
-	 * @generated
-	 */
-	int WEIGHT_KIND = 14;
-
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena <em>Arena</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Arena</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena
-	 * @generated
-	 */
-	EClass getArena();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena#getAddress <em>Address</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Address</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena#getAddress()
-	 * @see #getArena()
-	 * @generated
-	 */
-	EAttribute getArena_Address();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena#getCapacity <em>Capacity</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Capacity</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena#getCapacity()
-	 * @see #getArena()
-	 * @generated
-	 */
-	EAttribute getArena_Capacity();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence <em>Defence</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Defence</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence
-	 * @generated
-	 */
-	EClass getDefence();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence#getPosition <em>Position</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Position</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence#getPosition()
-	 * @see #getDefence()
-	 * @generated
-	 */
-	EAttribute getDefence_Position();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence#getPlayerStats <em>Player Stats</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Player Stats</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence#getPlayerStats()
-	 * @see #getDefence()
-	 * @generated
-	 */
-	EReference getDefence_PlayerStats();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward <em>Forward</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Forward</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward
-	 * @generated
-	 */
-	EClass getForward();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward#getPosition <em>Position</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Position</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward#getPosition()
-	 * @see #getForward()
-	 * @generated
-	 */
-	EAttribute getForward_Position();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward#getPlayerStats <em>Player Stats</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Player Stats</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward#getPlayerStats()
-	 * @see #getForward()
-	 * @generated
-	 */
-	EReference getForward_PlayerStats();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie <em>Goalie</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Goalie</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie
-	 * @generated
-	 */
-	EClass getGoalie();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie#getGoalieStats <em>Goalie Stats</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Goalie Stats</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie#getGoalieStats()
-	 * @see #getGoalie()
-	 * @generated
-	 */
-	EReference getGoalie_GoalieStats();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats <em>Goalie Stats</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Goalie Stats</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats
-	 * @generated
-	 */
-	EClass getGoalieStats();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getYear <em>Year</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Year</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getYear()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_Year();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getTeam <em>Team</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Team</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getTeam()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EReference getGoalieStats_Team();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGamesPlayedIn <em>Games Played In</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Games Played In</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGamesPlayedIn()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_GamesPlayedIn();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getMinutesPlayedIn <em>Minutes Played In</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Minutes Played In</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getMinutesPlayedIn()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_MinutesPlayedIn();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoalsAgainstAverage <em>Goals Against Average</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Goals Against Average</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoalsAgainstAverage()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_GoalsAgainstAverage();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getWins <em>Wins</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Wins</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getWins()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_Wins();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getLosses <em>Losses</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Losses</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getLosses()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_Losses();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getTies <em>Ties</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Ties</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getTies()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_Ties();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getEmptyNetGoals <em>Empty Net Goals</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Empty Net Goals</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getEmptyNetGoals()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_EmptyNetGoals();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getShutouts <em>Shutouts</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Shutouts</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getShutouts()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_Shutouts();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoalsAgainst <em>Goals Against</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Goals Against</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoalsAgainst()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_GoalsAgainst();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getSaves <em>Saves</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Saves</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getSaves()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_Saves();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getPenaltyMinutes <em>Penalty Minutes</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Penalty Minutes</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getPenaltyMinutes()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_PenaltyMinutes();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoals <em>Goals</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Goals</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getGoals()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_Goals();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getAssists <em>Assists</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Assists</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getAssists()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_Assists();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getPoints <em>Points</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Points</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats#getPoints()
-	 * @see #getGoalieStats()
-	 * @generated
-	 */
-	EAttribute getGoalieStats_Points();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject <em>Object</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Object</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject
-	 * @generated
-	 */
-	EClass getHockeyleagueObject();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject#getName <em>Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject#getName()
-	 * @see #getHockeyleagueObject()
-	 * @generated
-	 */
-	EAttribute getHockeyleagueObject_Name();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League <em>League</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>League</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League
-	 * @generated
-	 */
-	EClass getLeague();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League#getHeadoffice <em>Headoffice</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Headoffice</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League#getHeadoffice()
-	 * @see #getLeague()
-	 * @generated
-	 */
-	EAttribute getLeague_Headoffice();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League#getTeams <em>Teams</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Teams</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League#getTeams()
-	 * @see #getLeague()
-	 * @generated
-	 */
-	EReference getLeague_Teams();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player <em>Player</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Player</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player
-	 * @generated
-	 */
-	EClass getPlayer();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getBirthplace <em>Birthplace</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Birthplace</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getBirthplace()
-	 * @see #getPlayer()
-	 * @generated
-	 */
-	EAttribute getPlayer_Birthplace();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getNumber <em>Number</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Number</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getNumber()
-	 * @see #getPlayer()
-	 * @generated
-	 */
-	EAttribute getPlayer_Number();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getHeightMesurement <em>Height Mesurement</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Height Mesurement</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getHeightMesurement()
-	 * @see #getPlayer()
-	 * @generated
-	 */
-	EAttribute getPlayer_HeightMesurement();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getHeightValue <em>Height Value</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Height Value</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getHeightValue()
-	 * @see #getPlayer()
-	 * @generated
-	 */
-	EAttribute getPlayer_HeightValue();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getWeightMesurement <em>Weight Mesurement</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Weight Mesurement</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getWeightMesurement()
-	 * @see #getPlayer()
-	 * @generated
-	 */
-	EAttribute getPlayer_WeightMesurement();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getWeightValue <em>Weight Value</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Weight Value</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getWeightValue()
-	 * @see #getPlayer()
-	 * @generated
-	 */
-	EAttribute getPlayer_WeightValue();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getShot <em>Shot</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Shot</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getShot()
-	 * @see #getPlayer()
-	 * @generated
-	 */
-	EAttribute getPlayer_Shot();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getBirthdate <em>Birthdate</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Birthdate</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getBirthdate()
-	 * @see #getPlayer()
-	 * @generated
-	 */
-	EAttribute getPlayer_Birthdate();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats <em>Player Stats</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Player Stats</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats
-	 * @generated
-	 */
-	EClass getPlayerStats();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getYear <em>Year</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Year</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getYear()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_Year();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getTeam <em>Team</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Team</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getTeam()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EReference getPlayerStats_Team();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGamesPlayedIn <em>Games Played In</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Games Played In</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGamesPlayedIn()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_GamesPlayedIn();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGoals <em>Goals</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Goals</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGoals()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_Goals();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getAssists <em>Assists</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Assists</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getAssists()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_Assists();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPoints <em>Points</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Points</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPoints()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_Points();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPlusMinus <em>Plus Minus</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Plus Minus</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPlusMinus()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_PlusMinus();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPenaltyMinutes <em>Penalty Minutes</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Penalty Minutes</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPenaltyMinutes()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_PenaltyMinutes();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPowerPlayGoals <em>Power Play Goals</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Power Play Goals</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPowerPlayGoals()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_PowerPlayGoals();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShortHandedGoals <em>Short Handed Goals</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Short Handed Goals</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShortHandedGoals()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_ShortHandedGoals();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGameWinningGoals <em>Game Winning Goals</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Game Winning Goals</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGameWinningGoals()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_GameWinningGoals();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShots <em>Shots</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Shots</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShots()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_Shots();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShotPercentage <em>Shot Percentage</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Shot Percentage</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShotPercentage()
-	 * @see #getPlayerStats()
-	 * @generated
-	 */
-	EAttribute getPlayerStats_ShotPercentage();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team <em>Team</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Team</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team
-	 * @generated
-	 */
-	EClass getTeam();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getForwards <em>Forwards</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Forwards</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getForwards()
-	 * @see #getTeam()
-	 * @generated
-	 */
-	EReference getTeam_Forwards();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getDefencemen <em>Defencemen</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Defencemen</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getDefencemen()
-	 * @see #getTeam()
-	 * @generated
-	 */
-	EReference getTeam_Defencemen();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getGoalies <em>Goalies</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Goalies</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getGoalies()
-	 * @see #getTeam()
-	 * @generated
-	 */
-	EReference getTeam_Goalies();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getArena <em>Arena</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Arena</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getArena()
-	 * @see #getTeam()
-	 * @generated
-	 */
-	EReference getTeam_Arena();
-
-	/**
-	 * Returns the meta object for enum '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind <em>Defence Position Kind</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for enum '<em>Defence Position Kind</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind
-	 * @generated
-	 */
-	EEnum getDefencePositionKind();
-
-	/**
-	 * Returns the meta object for enum '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind <em>Forward Position Kind</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for enum '<em>Forward Position Kind</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind
-	 * @generated
-	 */
-	EEnum getForwardPositionKind();
-
-	/**
-	 * Returns the meta object for enum '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind <em>Height Kind</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for enum '<em>Height Kind</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind
-	 * @generated
-	 */
-	EEnum getHeightKind();
-
-	/**
-	 * Returns the meta object for enum '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind <em>Shot Kind</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for enum '<em>Shot Kind</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind
-	 * @generated
-	 */
-	EEnum getShotKind();
-
-	/**
-	 * Returns the meta object for enum '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind <em>Weight Kind</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for enum '<em>Weight Kind</em>'.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind
-	 * @generated
-	 */
-	EEnum getWeightKind();
-
-	/**
-	 * Returns the factory that creates the instances of the model.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the factory that creates the instances of the model.
-	 * @generated
-	 */
-	HockeyleagueFactory getHockeyleagueFactory();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * Defines literals for the meta objects that represent
-	 * <ul>
-	 *   <li>each class,</li>
-	 *   <li>each feature of each class,</li>
-	 *   <li>each enum,</li>
-	 *   <li>and each data type</li>
-	 * </ul>
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	interface Literals {
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ArenaImpl <em>Arena</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ArenaImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getArena()
-		 * @generated
-		 */
-		EClass ARENA = eINSTANCE.getArena();
-
-		/**
-		 * The meta object literal for the '<em><b>Address</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute ARENA__ADDRESS = eINSTANCE.getArena_Address();
-
-		/**
-		 * The meta object literal for the '<em><b>Capacity</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute ARENA__CAPACITY = eINSTANCE.getArena_Capacity();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.DefenceImpl <em>Defence</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.DefenceImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getDefence()
-		 * @generated
-		 */
-		EClass DEFENCE = eINSTANCE.getDefence();
-
-		/**
-		 * The meta object literal for the '<em><b>Position</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute DEFENCE__POSITION = eINSTANCE.getDefence_Position();
-
-		/**
-		 * The meta object literal for the '<em><b>Player Stats</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference DEFENCE__PLAYER_STATS = eINSTANCE.getDefence_PlayerStats();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ForwardImpl <em>Forward</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ForwardImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getForward()
-		 * @generated
-		 */
-		EClass FORWARD = eINSTANCE.getForward();
-
-		/**
-		 * The meta object literal for the '<em><b>Position</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute FORWARD__POSITION = eINSTANCE.getForward_Position();
-
-		/**
-		 * The meta object literal for the '<em><b>Player Stats</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference FORWARD__PLAYER_STATS = eINSTANCE.getForward_PlayerStats();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieImpl <em>Goalie</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getGoalie()
-		 * @generated
-		 */
-		EClass GOALIE = eINSTANCE.getGoalie();
-
-		/**
-		 * The meta object literal for the '<em><b>Goalie Stats</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference GOALIE__GOALIE_STATS = eINSTANCE.getGoalie_GoalieStats();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl <em>Goalie Stats</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getGoalieStats()
-		 * @generated
-		 */
-		EClass GOALIE_STATS = eINSTANCE.getGoalieStats();
-
-		/**
-		 * The meta object literal for the '<em><b>Year</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__YEAR = eINSTANCE.getGoalieStats_Year();
-
-		/**
-		 * The meta object literal for the '<em><b>Team</b></em>' reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference GOALIE_STATS__TEAM = eINSTANCE.getGoalieStats_Team();
-
-		/**
-		 * The meta object literal for the '<em><b>Games Played In</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__GAMES_PLAYED_IN = eINSTANCE.getGoalieStats_GamesPlayedIn();
-
-		/**
-		 * The meta object literal for the '<em><b>Minutes Played In</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__MINUTES_PLAYED_IN = eINSTANCE.getGoalieStats_MinutesPlayedIn();
-
-		/**
-		 * The meta object literal for the '<em><b>Goals Against Average</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__GOALS_AGAINST_AVERAGE = eINSTANCE.getGoalieStats_GoalsAgainstAverage();
-
-		/**
-		 * The meta object literal for the '<em><b>Wins</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__WINS = eINSTANCE.getGoalieStats_Wins();
-
-		/**
-		 * The meta object literal for the '<em><b>Losses</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__LOSSES = eINSTANCE.getGoalieStats_Losses();
-
-		/**
-		 * The meta object literal for the '<em><b>Ties</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__TIES = eINSTANCE.getGoalieStats_Ties();
-
-		/**
-		 * The meta object literal for the '<em><b>Empty Net Goals</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__EMPTY_NET_GOALS = eINSTANCE.getGoalieStats_EmptyNetGoals();
-
-		/**
-		 * The meta object literal for the '<em><b>Shutouts</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__SHUTOUTS = eINSTANCE.getGoalieStats_Shutouts();
-
-		/**
-		 * The meta object literal for the '<em><b>Goals Against</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__GOALS_AGAINST = eINSTANCE.getGoalieStats_GoalsAgainst();
-
-		/**
-		 * The meta object literal for the '<em><b>Saves</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__SAVES = eINSTANCE.getGoalieStats_Saves();
-
-		/**
-		 * The meta object literal for the '<em><b>Penalty Minutes</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__PENALTY_MINUTES = eINSTANCE.getGoalieStats_PenaltyMinutes();
-
-		/**
-		 * The meta object literal for the '<em><b>Goals</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__GOALS = eINSTANCE.getGoalieStats_Goals();
-
-		/**
-		 * The meta object literal for the '<em><b>Assists</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__ASSISTS = eINSTANCE.getGoalieStats_Assists();
-
-		/**
-		 * The meta object literal for the '<em><b>Points</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute GOALIE_STATS__POINTS = eINSTANCE.getGoalieStats_Points();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleagueObjectImpl <em>Object</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleagueObjectImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getHockeyleagueObject()
-		 * @generated
-		 */
-		EClass HOCKEYLEAGUE_OBJECT = eINSTANCE.getHockeyleagueObject();
-
-		/**
-		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute HOCKEYLEAGUE_OBJECT__NAME = eINSTANCE.getHockeyleagueObject_Name();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.LeagueImpl <em>League</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.LeagueImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getLeague()
-		 * @generated
-		 */
-		EClass LEAGUE = eINSTANCE.getLeague();
-
-		/**
-		 * The meta object literal for the '<em><b>Headoffice</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute LEAGUE__HEADOFFICE = eINSTANCE.getLeague_Headoffice();
-
-		/**
-		 * The meta object literal for the '<em><b>Teams</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference LEAGUE__TEAMS = eINSTANCE.getLeague_Teams();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl <em>Player</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getPlayer()
-		 * @generated
-		 */
-		EClass PLAYER = eINSTANCE.getPlayer();
-
-		/**
-		 * The meta object literal for the '<em><b>Birthplace</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER__BIRTHPLACE = eINSTANCE.getPlayer_Birthplace();
-
-		/**
-		 * The meta object literal for the '<em><b>Number</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER__NUMBER = eINSTANCE.getPlayer_Number();
-
-		/**
-		 * The meta object literal for the '<em><b>Height Mesurement</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER__HEIGHT_MESUREMENT = eINSTANCE.getPlayer_HeightMesurement();
-
-		/**
-		 * The meta object literal for the '<em><b>Height Value</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER__HEIGHT_VALUE = eINSTANCE.getPlayer_HeightValue();
-
-		/**
-		 * The meta object literal for the '<em><b>Weight Mesurement</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER__WEIGHT_MESUREMENT = eINSTANCE.getPlayer_WeightMesurement();
-
-		/**
-		 * The meta object literal for the '<em><b>Weight Value</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER__WEIGHT_VALUE = eINSTANCE.getPlayer_WeightValue();
-
-		/**
-		 * The meta object literal for the '<em><b>Shot</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER__SHOT = eINSTANCE.getPlayer_Shot();
-
-		/**
-		 * The meta object literal for the '<em><b>Birthdate</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER__BIRTHDATE = eINSTANCE.getPlayer_Birthdate();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl <em>Player Stats</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getPlayerStats()
-		 * @generated
-		 */
-		EClass PLAYER_STATS = eINSTANCE.getPlayerStats();
-
-		/**
-		 * The meta object literal for the '<em><b>Year</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__YEAR = eINSTANCE.getPlayerStats_Year();
-
-		/**
-		 * The meta object literal for the '<em><b>Team</b></em>' reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference PLAYER_STATS__TEAM = eINSTANCE.getPlayerStats_Team();
-
-		/**
-		 * The meta object literal for the '<em><b>Games Played In</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__GAMES_PLAYED_IN = eINSTANCE.getPlayerStats_GamesPlayedIn();
-
-		/**
-		 * The meta object literal for the '<em><b>Goals</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__GOALS = eINSTANCE.getPlayerStats_Goals();
-
-		/**
-		 * The meta object literal for the '<em><b>Assists</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__ASSISTS = eINSTANCE.getPlayerStats_Assists();
-
-		/**
-		 * The meta object literal for the '<em><b>Points</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__POINTS = eINSTANCE.getPlayerStats_Points();
-
-		/**
-		 * The meta object literal for the '<em><b>Plus Minus</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__PLUS_MINUS = eINSTANCE.getPlayerStats_PlusMinus();
-
-		/**
-		 * The meta object literal for the '<em><b>Penalty Minutes</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__PENALTY_MINUTES = eINSTANCE.getPlayerStats_PenaltyMinutes();
-
-		/**
-		 * The meta object literal for the '<em><b>Power Play Goals</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__POWER_PLAY_GOALS = eINSTANCE.getPlayerStats_PowerPlayGoals();
-
-		/**
-		 * The meta object literal for the '<em><b>Short Handed Goals</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__SHORT_HANDED_GOALS = eINSTANCE.getPlayerStats_ShortHandedGoals();
-
-		/**
-		 * The meta object literal for the '<em><b>Game Winning Goals</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__GAME_WINNING_GOALS = eINSTANCE.getPlayerStats_GameWinningGoals();
-
-		/**
-		 * The meta object literal for the '<em><b>Shots</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__SHOTS = eINSTANCE.getPlayerStats_Shots();
-
-		/**
-		 * The meta object literal for the '<em><b>Shot Percentage</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute PLAYER_STATS__SHOT_PERCENTAGE = eINSTANCE.getPlayerStats_ShotPercentage();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.TeamImpl <em>Team</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.TeamImpl
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getTeam()
-		 * @generated
-		 */
-		EClass TEAM = eINSTANCE.getTeam();
-
-		/**
-		 * The meta object literal for the '<em><b>Forwards</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference TEAM__FORWARDS = eINSTANCE.getTeam_Forwards();
-
-		/**
-		 * The meta object literal for the '<em><b>Defencemen</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference TEAM__DEFENCEMEN = eINSTANCE.getTeam_Defencemen();
-
-		/**
-		 * The meta object literal for the '<em><b>Goalies</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference TEAM__GOALIES = eINSTANCE.getTeam_Goalies();
-
-		/**
-		 * The meta object literal for the '<em><b>Arena</b></em>' containment reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference TEAM__ARENA = eINSTANCE.getTeam_Arena();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind <em>Defence Position Kind</em>}' enum.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getDefencePositionKind()
-		 * @generated
-		 */
-		EEnum DEFENCE_POSITION_KIND = eINSTANCE.getDefencePositionKind();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind <em>Forward Position Kind</em>}' enum.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getForwardPositionKind()
-		 * @generated
-		 */
-		EEnum FORWARD_POSITION_KIND = eINSTANCE.getForwardPositionKind();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind <em>Height Kind</em>}' enum.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getHeightKind()
-		 * @generated
-		 */
-		EEnum HEIGHT_KIND = eINSTANCE.getHeightKind();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind <em>Shot Kind</em>}' enum.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getShotKind()
-		 * @generated
-		 */
-		EEnum SHOT_KIND = eINSTANCE.getShotKind();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind <em>Weight Kind</em>}' enum.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind
-		 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleaguePackageImpl#getWeightKind()
-		 * @generated
-		 */
-		EEnum WEIGHT_KIND = eINSTANCE.getWeightKind();
-
-	}
-
-} //HockeyleaguePackage
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleaguePlugin.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleaguePlugin.java
deleted file mode 100644
index c5753bf..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/HockeyleaguePlugin.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.common.EMFPlugin;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-/**
- * This is the central singleton for the Hockeyleague edit plugin.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public final class HockeyleaguePlugin extends EMFPlugin {
-	/**
-	 * Keep track of the singleton.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final HockeyleaguePlugin INSTANCE = new HockeyleaguePlugin();
-
-	/**
-	 * Keep track of the singleton.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static Implementation plugin;
-
-	/**
-	 * Create the instance.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HockeyleaguePlugin() {
-		super
-		  (new ResourceLocator [] {
-		   });
-	}
-
-	/**
-	 * Returns the singleton instance of the Eclipse plugin.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the singleton instance.
-	 * @generated
-	 */
-	public ResourceLocator getPluginResourceLocator() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the singleton instance of the Eclipse plugin.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the singleton instance.
-	 * @generated
-	 */
-	public static Implementation getPlugin() {
-		return plugin;
-	}
-
-	/**
-	 * The actual implementation of the Eclipse <b>Plugin</b>.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static class Implementation extends EclipsePlugin {
-		/**
-		 * Creates an instance.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		public Implementation() {
-			super();
-
-			// Remember the static instance.
-			//
-			plugin = this;
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/League.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/League.java
deleted file mode 100644
index e2c0fa2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/League.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>League</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League#getHeadoffice <em>Headoffice</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League#getTeams <em>Teams</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getLeague()
- * @model
- * @generated
- */
-public interface League extends HockeyleagueObject {
-	/**
-	 * Returns the value of the '<em><b>Headoffice</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Headoffice</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Headoffice</em>' attribute.
-	 * @see #setHeadoffice(String)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getLeague_Headoffice()
-	 * @model
-	 * @generated
-	 */
-	String getHeadoffice();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League#getHeadoffice <em>Headoffice</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Headoffice</em>' attribute.
-	 * @see #getHeadoffice()
-	 * @generated
-	 */
-	void setHeadoffice(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Teams</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Teams</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Teams</em>' containment reference list.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getLeague_Teams()
-	 * @model type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team" containment="true"
-	 * @generated
-	 */
-	EList getTeams();
-
-} // League
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Player.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Player.java
deleted file mode 100644
index 7aa5045e..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Player.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Player</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getBirthplace <em>Birthplace</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getNumber <em>Number</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getHeightMesurement <em>Height Mesurement</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getHeightValue <em>Height Value</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getWeightMesurement <em>Weight Mesurement</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getWeightValue <em>Weight Value</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getShot <em>Shot</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getBirthdate <em>Birthdate</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayer()
- * @model abstract="true"
- * @generated
- */
-public interface Player extends HockeyleagueObject {
-	/**
-	 * Returns the value of the '<em><b>Birthplace</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Birthplace</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Birthplace</em>' attribute.
-	 * @see #setBirthplace(String)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayer_Birthplace()
-	 * @model
-	 * @generated
-	 */
-	String getBirthplace();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getBirthplace <em>Birthplace</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Birthplace</em>' attribute.
-	 * @see #getBirthplace()
-	 * @generated
-	 */
-	void setBirthplace(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Number</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Number</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Number</em>' attribute.
-	 * @see #setNumber(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayer_Number()
-	 * @model
-	 * @generated
-	 */
-	int getNumber();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getNumber <em>Number</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Number</em>' attribute.
-	 * @see #getNumber()
-	 * @generated
-	 */
-	void setNumber(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Height Mesurement</b></em>' attribute.
-	 * The literals are from the enumeration {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Height Mesurement</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Height Mesurement</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind
-	 * @see #setHeightMesurement(HeightKind)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayer_HeightMesurement()
-	 * @model
-	 * @generated
-	 */
-	HeightKind getHeightMesurement();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getHeightMesurement <em>Height Mesurement</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Height Mesurement</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind
-	 * @see #getHeightMesurement()
-	 * @generated
-	 */
-	void setHeightMesurement(HeightKind value);
-
-	/**
-	 * Returns the value of the '<em><b>Height Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Height Value</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Height Value</em>' attribute.
-	 * @see #setHeightValue(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayer_HeightValue()
-	 * @model
-	 * @generated
-	 */
-	int getHeightValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getHeightValue <em>Height Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Height Value</em>' attribute.
-	 * @see #getHeightValue()
-	 * @generated
-	 */
-	void setHeightValue(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Weight Mesurement</b></em>' attribute.
-	 * The literals are from the enumeration {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Weight Mesurement</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Weight Mesurement</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind
-	 * @see #setWeightMesurement(WeightKind)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayer_WeightMesurement()
-	 * @model
-	 * @generated
-	 */
-	WeightKind getWeightMesurement();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getWeightMesurement <em>Weight Mesurement</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Weight Mesurement</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind
-	 * @see #getWeightMesurement()
-	 * @generated
-	 */
-	void setWeightMesurement(WeightKind value);
-
-	/**
-	 * Returns the value of the '<em><b>Weight Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Weight Value</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Weight Value</em>' attribute.
-	 * @see #setWeightValue(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayer_WeightValue()
-	 * @model
-	 * @generated
-	 */
-	int getWeightValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getWeightValue <em>Weight Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Weight Value</em>' attribute.
-	 * @see #getWeightValue()
-	 * @generated
-	 */
-	void setWeightValue(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Shot</b></em>' attribute.
-	 * The literals are from the enumeration {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Shot</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Shot</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind
-	 * @see #setShot(ShotKind)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayer_Shot()
-	 * @model
-	 * @generated
-	 */
-	ShotKind getShot();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getShot <em>Shot</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Shot</em>' attribute.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind
-	 * @see #getShot()
-	 * @generated
-	 */
-	void setShot(ShotKind value);
-
-	/**
-	 * Returns the value of the '<em><b>Birthdate</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Birthdate</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Birthdate</em>' attribute.
-	 * @see #setBirthdate(String)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayer_Birthdate()
-	 * @model
-	 * @generated
-	 */
-	String getBirthdate();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player#getBirthdate <em>Birthdate</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Birthdate</em>' attribute.
-	 * @see #getBirthdate()
-	 * @generated
-	 */
-	void setBirthdate(String value);
-
-} // Player
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/PlayerStats.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/PlayerStats.java
deleted file mode 100644
index 545f5c2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/PlayerStats.java
+++ /dev/null
@@ -1,382 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Player Stats</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getYear <em>Year</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getTeam <em>Team</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGamesPlayedIn <em>Games Played In</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGoals <em>Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getAssists <em>Assists</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPoints <em>Points</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPlusMinus <em>Plus Minus</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPenaltyMinutes <em>Penalty Minutes</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPowerPlayGoals <em>Power Play Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShortHandedGoals <em>Short Handed Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGameWinningGoals <em>Game Winning Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShots <em>Shots</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShotPercentage <em>Shot Percentage</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats()
- * @model
- * @generated
- */
-public interface PlayerStats extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Year</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Year</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Year</em>' attribute.
-	 * @see #setYear(String)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_Year()
-	 * @model
-	 * @generated
-	 */
-	String getYear();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getYear <em>Year</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Year</em>' attribute.
-	 * @see #getYear()
-	 * @generated
-	 */
-	void setYear(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Team</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Team</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Team</em>' reference.
-	 * @see #setTeam(Team)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_Team()
-	 * @model
-	 * @generated
-	 */
-	Team getTeam();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getTeam <em>Team</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Team</em>' reference.
-	 * @see #getTeam()
-	 * @generated
-	 */
-	void setTeam(Team value);
-
-	/**
-	 * Returns the value of the '<em><b>Games Played In</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Games Played In</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Games Played In</em>' attribute.
-	 * @see #setGamesPlayedIn(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_GamesPlayedIn()
-	 * @model
-	 * @generated
-	 */
-	int getGamesPlayedIn();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGamesPlayedIn <em>Games Played In</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Games Played In</em>' attribute.
-	 * @see #getGamesPlayedIn()
-	 * @generated
-	 */
-	void setGamesPlayedIn(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Goals</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Goals</em>' attribute.
-	 * @see #setGoals(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_Goals()
-	 * @model
-	 * @generated
-	 */
-	int getGoals();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGoals <em>Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Goals</em>' attribute.
-	 * @see #getGoals()
-	 * @generated
-	 */
-	void setGoals(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Assists</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Assists</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Assists</em>' attribute.
-	 * @see #setAssists(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_Assists()
-	 * @model
-	 * @generated
-	 */
-	int getAssists();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getAssists <em>Assists</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Assists</em>' attribute.
-	 * @see #getAssists()
-	 * @generated
-	 */
-	void setAssists(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Points</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Points</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Points</em>' attribute.
-	 * @see #setPoints(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_Points()
-	 * @model
-	 * @generated
-	 */
-	int getPoints();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPoints <em>Points</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Points</em>' attribute.
-	 * @see #getPoints()
-	 * @generated
-	 */
-	void setPoints(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Plus Minus</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Plus Minus</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Plus Minus</em>' attribute.
-	 * @see #setPlusMinus(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_PlusMinus()
-	 * @model
-	 * @generated
-	 */
-	int getPlusMinus();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPlusMinus <em>Plus Minus</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Plus Minus</em>' attribute.
-	 * @see #getPlusMinus()
-	 * @generated
-	 */
-	void setPlusMinus(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Penalty Minutes</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Penalty Minutes</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Penalty Minutes</em>' attribute.
-	 * @see #setPenaltyMinutes(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_PenaltyMinutes()
-	 * @model
-	 * @generated
-	 */
-	int getPenaltyMinutes();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPenaltyMinutes <em>Penalty Minutes</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Penalty Minutes</em>' attribute.
-	 * @see #getPenaltyMinutes()
-	 * @generated
-	 */
-	void setPenaltyMinutes(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Power Play Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Power Play Goals</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Power Play Goals</em>' attribute.
-	 * @see #setPowerPlayGoals(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_PowerPlayGoals()
-	 * @model
-	 * @generated
-	 */
-	int getPowerPlayGoals();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getPowerPlayGoals <em>Power Play Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Power Play Goals</em>' attribute.
-	 * @see #getPowerPlayGoals()
-	 * @generated
-	 */
-	void setPowerPlayGoals(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Short Handed Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Short Handed Goals</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Short Handed Goals</em>' attribute.
-	 * @see #setShortHandedGoals(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_ShortHandedGoals()
-	 * @model
-	 * @generated
-	 */
-	int getShortHandedGoals();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShortHandedGoals <em>Short Handed Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Short Handed Goals</em>' attribute.
-	 * @see #getShortHandedGoals()
-	 * @generated
-	 */
-	void setShortHandedGoals(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Game Winning Goals</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Game Winning Goals</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Game Winning Goals</em>' attribute.
-	 * @see #setGameWinningGoals(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_GameWinningGoals()
-	 * @model
-	 * @generated
-	 */
-	int getGameWinningGoals();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getGameWinningGoals <em>Game Winning Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Game Winning Goals</em>' attribute.
-	 * @see #getGameWinningGoals()
-	 * @generated
-	 */
-	void setGameWinningGoals(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Shots</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Shots</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Shots</em>' attribute.
-	 * @see #setShots(int)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_Shots()
-	 * @model
-	 * @generated
-	 */
-	int getShots();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShots <em>Shots</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Shots</em>' attribute.
-	 * @see #getShots()
-	 * @generated
-	 */
-	void setShots(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Shot Percentage</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Shot Percentage</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Shot Percentage</em>' attribute.
-	 * @see #setShotPercentage(float)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getPlayerStats_ShotPercentage()
-	 * @model
-	 * @generated
-	 */
-	float getShotPercentage();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats#getShotPercentage <em>Shot Percentage</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Shot Percentage</em>' attribute.
-	 * @see #getShotPercentage()
-	 * @generated
-	 */
-	void setShotPercentage(float value);
-
-} // PlayerStats
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ShotKind.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ShotKind.java
deleted file mode 100644
index 2a7ccbe..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ShotKind.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Shot Kind</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getShotKind()
- * @model
- * @generated
- */
-public final class ShotKind extends AbstractEnumerator {
-	/**
-	 * The '<em><b>Left</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Left</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #LEFT_LITERAL
-	 * @model name="left"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int LEFT = 0;
-
-	/**
-	 * The '<em><b>Right</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Right</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #RIGHT_LITERAL
-	 * @model name="right"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int RIGHT = 1;
-
-	/**
-	 * The '<em><b>Left</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #LEFT
-	 * @generated
-	 * @ordered
-	 */
-	public static final ShotKind LEFT_LITERAL = new ShotKind(LEFT, "left", "left"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * The '<em><b>Right</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #RIGHT
-	 * @generated
-	 * @ordered
-	 */
-	public static final ShotKind RIGHT_LITERAL = new ShotKind(RIGHT, "right", "right"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * An array of all the '<em><b>Shot Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static final ShotKind[] VALUES_ARRAY =
-		new ShotKind[] {
-			LEFT_LITERAL,
-			RIGHT_LITERAL,
-		};
-
-	/**
-	 * A public read-only list of all the '<em><b>Shot Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-	/**
-	 * Returns the '<em><b>Shot Kind</b></em>' literal with the specified literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static ShotKind get(String literal) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			ShotKind result = VALUES_ARRAY[i];
-			if (result.toString().equals(literal)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Shot Kind</b></em>' literal with the specified name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static ShotKind getByName(String name) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			ShotKind result = VALUES_ARRAY[i];
-			if (result.getName().equals(name)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Shot Kind</b></em>' literal with the specified integer value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static ShotKind get(int value) {
-		switch (value) {
-			case LEFT: return LEFT_LITERAL;
-			case RIGHT: return RIGHT_LITERAL;
-		}
-		return null;	
-	}
-
-	/**
-	 * Only this class can construct instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private ShotKind(int value, String name, String literal) {
-		super(value, name, literal);
-	}
-
-} //ShotKind
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Team.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Team.java
deleted file mode 100644
index 41f59e2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/Team.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Team</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getForwards <em>Forwards</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getDefencemen <em>Defencemen</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getGoalies <em>Goalies</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getArena <em>Arena</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getTeam()
- * @model
- * @generated
- */
-public interface Team extends HockeyleagueObject {
-	/**
-	 * Returns the value of the '<em><b>Forwards</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Forwards</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Forwards</em>' containment reference list.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getTeam_Forwards()
-	 * @model type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward" containment="true"
-	 * @generated
-	 */
-	EList getForwards();
-
-	/**
-	 * Returns the value of the '<em><b>Defencemen</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Defencemen</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Defencemen</em>' containment reference list.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getTeam_Defencemen()
-	 * @model type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence" containment="true"
-	 * @generated
-	 */
-	EList getDefencemen();
-
-	/**
-	 * Returns the value of the '<em><b>Goalies</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Goalies</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Goalies</em>' containment reference list.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getTeam_Goalies()
-	 * @model type="org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie" containment="true"
-	 * @generated
-	 */
-	EList getGoalies();
-
-	/**
-	 * Returns the value of the '<em><b>Arena</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Arena</em>' containment reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Arena</em>' containment reference.
-	 * @see #setArena(Arena)
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getTeam_Arena()
-	 * @model containment="true"
-	 * @generated
-	 */
-	Arena getArena();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team#getArena <em>Arena</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Arena</em>' containment reference.
-	 * @see #getArena()
-	 * @generated
-	 */
-	void setArena(Arena value);
-
-} // Team
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/WeightKind.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/WeightKind.java
deleted file mode 100644
index 27d5a9a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/WeightKind.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>Weight Kind</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#getWeightKind()
- * @model
- * @generated
- */
-public final class WeightKind extends AbstractEnumerator {
-	/**
-	 * The '<em><b>Pounds</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Pounds</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #POUNDS_LITERAL
-	 * @model name="pounds"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int POUNDS = 0;
-
-	/**
-	 * The '<em><b>Kilograms</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Kilograms</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #KILOGRAMS_LITERAL
-	 * @model name="kilograms"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int KILOGRAMS = 1;
-
-	/**
-	 * The '<em><b>Pounds</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #POUNDS
-	 * @generated
-	 * @ordered
-	 */
-	public static final WeightKind POUNDS_LITERAL = new WeightKind(POUNDS, "pounds", "pounds"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * The '<em><b>Kilograms</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #KILOGRAMS
-	 * @generated
-	 * @ordered
-	 */
-	public static final WeightKind KILOGRAMS_LITERAL = new WeightKind(KILOGRAMS, "kilograms", "kilograms"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * An array of all the '<em><b>Weight Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static final WeightKind[] VALUES_ARRAY =
-		new WeightKind[] {
-			POUNDS_LITERAL,
-			KILOGRAMS_LITERAL,
-		};
-
-	/**
-	 * A public read-only list of all the '<em><b>Weight Kind</b></em>' enumerators.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-	/**
-	 * Returns the '<em><b>Weight Kind</b></em>' literal with the specified literal value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static WeightKind get(String literal) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			WeightKind result = VALUES_ARRAY[i];
-			if (result.toString().equals(literal)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Weight Kind</b></em>' literal with the specified name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static WeightKind getByName(String name) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			WeightKind result = VALUES_ARRAY[i];
-			if (result.getName().equals(name)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Weight Kind</b></em>' literal with the specified integer value.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static WeightKind get(int value) {
-		switch (value) {
-			case POUNDS: return POUNDS_LITERAL;
-			case KILOGRAMS: return KILOGRAMS_LITERAL;
-		}
-		return null;	
-	}
-
-	/**
-	 * Only this class can construct instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private WeightKind(int value, String name, String literal) {
-		super(value, name, literal);
-	}
-
-} //WeightKind
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/ArenaImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/ArenaImpl.java
deleted file mode 100644
index c8d2d4c..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/ArenaImpl.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Arena</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ArenaImpl#getAddress <em>Address</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ArenaImpl#getCapacity <em>Capacity</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ArenaImpl extends HockeyleagueObjectImpl implements Arena {
-	/**
-	 * The default value of the '{@link #getAddress() <em>Address</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getAddress()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String ADDRESS_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getAddress() <em>Address</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getAddress()
-	 * @generated
-	 * @ordered
-	 */
-	protected String address = ADDRESS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getCapacity() <em>Capacity</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getCapacity()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int CAPACITY_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getCapacity() <em>Capacity</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getCapacity()
-	 * @generated
-	 * @ordered
-	 */
-	protected int capacity = CAPACITY_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ArenaImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.ARENA;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getAddress() {
-		return address;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setAddress(String newAddress) {
-		String oldAddress = address;
-		address = newAddress;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.ARENA__ADDRESS, oldAddress, address));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getCapacity() {
-		return capacity;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setCapacity(int newCapacity) {
-		int oldCapacity = capacity;
-		capacity = newCapacity;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.ARENA__CAPACITY, oldCapacity, capacity));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.ARENA__ADDRESS:
-				return getAddress();
-			case HockeyleaguePackage.ARENA__CAPACITY:
-				return new Integer(getCapacity());
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.ARENA__ADDRESS:
-				setAddress((String)newValue);
-				return;
-			case HockeyleaguePackage.ARENA__CAPACITY:
-				setCapacity(((Integer)newValue).intValue());
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.ARENA__ADDRESS:
-				setAddress(ADDRESS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.ARENA__CAPACITY:
-				setCapacity(CAPACITY_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.ARENA__ADDRESS:
-				return ADDRESS_EDEFAULT == null ? address != null : !ADDRESS_EDEFAULT.equals(address);
-			case HockeyleaguePackage.ARENA__CAPACITY:
-				return capacity != CAPACITY_EDEFAULT;
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (address: "); //$NON-NLS-1$
-		result.append(address);
-		result.append(", capacity: "); //$NON-NLS-1$
-		result.append(capacity);
-		result.append(')');
-		return result.toString();
-	}
-
-} //ArenaImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/DefenceImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/DefenceImpl.java
deleted file mode 100644
index aa41e04..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/DefenceImpl.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Defence</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.DefenceImpl#getPosition <em>Position</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.DefenceImpl#getPlayerStats <em>Player Stats</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class DefenceImpl extends PlayerImpl implements Defence {
-	/**
-	 * The default value of the '{@link #getPosition() <em>Position</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPosition()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final DefencePositionKind POSITION_EDEFAULT = DefencePositionKind.LEFT_DEFENCE_LITERAL;
-
-	/**
-	 * The cached value of the '{@link #getPosition() <em>Position</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPosition()
-	 * @generated
-	 * @ordered
-	 */
-	protected DefencePositionKind position = POSITION_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getPlayerStats() <em>Player Stats</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPlayerStats()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList playerStats = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected DefenceImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.DEFENCE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public DefencePositionKind getPosition() {
-		return position;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPosition(DefencePositionKind newPosition) {
-		DefencePositionKind oldPosition = position;
-		position = newPosition == null ? POSITION_EDEFAULT : newPosition;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.DEFENCE__POSITION, oldPosition, position));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getPlayerStats() {
-		if (playerStats == null) {
-			playerStats = new EObjectContainmentEList(PlayerStats.class, this, HockeyleaguePackage.DEFENCE__PLAYER_STATS);
-		}
-		return playerStats;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case HockeyleaguePackage.DEFENCE__PLAYER_STATS:
-				return ((InternalEList)getPlayerStats()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.DEFENCE__POSITION:
-				return getPosition();
-			case HockeyleaguePackage.DEFENCE__PLAYER_STATS:
-				return getPlayerStats();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.DEFENCE__POSITION:
-				setPosition((DefencePositionKind)newValue);
-				return;
-			case HockeyleaguePackage.DEFENCE__PLAYER_STATS:
-				getPlayerStats().clear();
-				getPlayerStats().addAll((Collection)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.DEFENCE__POSITION:
-				setPosition(POSITION_EDEFAULT);
-				return;
-			case HockeyleaguePackage.DEFENCE__PLAYER_STATS:
-				getPlayerStats().clear();
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.DEFENCE__POSITION:
-				return position != POSITION_EDEFAULT;
-			case HockeyleaguePackage.DEFENCE__PLAYER_STATS:
-				return playerStats != null && !playerStats.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (position: "); //$NON-NLS-1$
-		result.append(position);
-		result.append(')');
-		return result.toString();
-	}
-
-} //DefenceImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/ForwardImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/ForwardImpl.java
deleted file mode 100644
index 6e70813..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/ForwardImpl.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Forward</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ForwardImpl#getPosition <em>Position</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.ForwardImpl#getPlayerStats <em>Player Stats</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ForwardImpl extends PlayerImpl implements Forward {
-	/**
-	 * The default value of the '{@link #getPosition() <em>Position</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPosition()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final ForwardPositionKind POSITION_EDEFAULT = ForwardPositionKind.LEFT_WING_LITERAL;
-
-	/**
-	 * The cached value of the '{@link #getPosition() <em>Position</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPosition()
-	 * @generated
-	 * @ordered
-	 */
-	protected ForwardPositionKind position = POSITION_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getPlayerStats() <em>Player Stats</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPlayerStats()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList playerStats = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ForwardImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.FORWARD;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ForwardPositionKind getPosition() {
-		return position;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPosition(ForwardPositionKind newPosition) {
-		ForwardPositionKind oldPosition = position;
-		position = newPosition == null ? POSITION_EDEFAULT : newPosition;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.FORWARD__POSITION, oldPosition, position));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getPlayerStats() {
-		if (playerStats == null) {
-			playerStats = new EObjectContainmentEList(PlayerStats.class, this, HockeyleaguePackage.FORWARD__PLAYER_STATS);
-		}
-		return playerStats;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case HockeyleaguePackage.FORWARD__PLAYER_STATS:
-				return ((InternalEList)getPlayerStats()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.FORWARD__POSITION:
-				return getPosition();
-			case HockeyleaguePackage.FORWARD__PLAYER_STATS:
-				return getPlayerStats();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.FORWARD__POSITION:
-				setPosition((ForwardPositionKind)newValue);
-				return;
-			case HockeyleaguePackage.FORWARD__PLAYER_STATS:
-				getPlayerStats().clear();
-				getPlayerStats().addAll((Collection)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.FORWARD__POSITION:
-				setPosition(POSITION_EDEFAULT);
-				return;
-			case HockeyleaguePackage.FORWARD__PLAYER_STATS:
-				getPlayerStats().clear();
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.FORWARD__POSITION:
-				return position != POSITION_EDEFAULT;
-			case HockeyleaguePackage.FORWARD__PLAYER_STATS:
-				return playerStats != null && !playerStats.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (position: "); //$NON-NLS-1$
-		result.append(position);
-		result.append(')');
-		return result.toString();
-	}
-
-} //ForwardImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/GoalieImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/GoalieImpl.java
deleted file mode 100644
index bc65d81..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/GoalieImpl.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Goalie</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieImpl#getGoalieStats <em>Goalie Stats</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class GoalieImpl extends PlayerImpl implements Goalie {
-	/**
-	 * The cached value of the '{@link #getGoalieStats() <em>Goalie Stats</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoalieStats()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList goalieStats = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected GoalieImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.GOALIE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getGoalieStats() {
-		if (goalieStats == null) {
-			goalieStats = new EObjectContainmentEList(GoalieStats.class, this, HockeyleaguePackage.GOALIE__GOALIE_STATS);
-		}
-		return goalieStats;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case HockeyleaguePackage.GOALIE__GOALIE_STATS:
-				return ((InternalEList)getGoalieStats()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.GOALIE__GOALIE_STATS:
-				return getGoalieStats();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.GOALIE__GOALIE_STATS:
-				getGoalieStats().clear();
-				getGoalieStats().addAll((Collection)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.GOALIE__GOALIE_STATS:
-				getGoalieStats().clear();
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.GOALIE__GOALIE_STATS:
-				return goalieStats != null && !goalieStats.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
-
-} //GoalieImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/GoalieStatsImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/GoalieStatsImpl.java
deleted file mode 100644
index 6595d26..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/GoalieStatsImpl.java
+++ /dev/null
@@ -1,983 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Goalie Stats</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getYear <em>Year</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getTeam <em>Team</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getGamesPlayedIn <em>Games Played In</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getMinutesPlayedIn <em>Minutes Played In</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getGoalsAgainstAverage <em>Goals Against Average</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getWins <em>Wins</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getLosses <em>Losses</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getTies <em>Ties</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getEmptyNetGoals <em>Empty Net Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getShutouts <em>Shutouts</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getGoalsAgainst <em>Goals Against</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getSaves <em>Saves</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getPenaltyMinutes <em>Penalty Minutes</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getGoals <em>Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getAssists <em>Assists</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.GoalieStatsImpl#getPoints <em>Points</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class GoalieStatsImpl extends EObjectImpl implements GoalieStats {
-	/**
-	 * The default value of the '{@link #getYear() <em>Year</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getYear()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String YEAR_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getYear() <em>Year</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getYear()
-	 * @generated
-	 * @ordered
-	 */
-	protected String year = YEAR_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getTeam() <em>Team</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getTeam()
-	 * @generated
-	 * @ordered
-	 */
-	protected Team team = null;
-
-	/**
-	 * The default value of the '{@link #getGamesPlayedIn() <em>Games Played In</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGamesPlayedIn()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int GAMES_PLAYED_IN_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getGamesPlayedIn() <em>Games Played In</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGamesPlayedIn()
-	 * @generated
-	 * @ordered
-	 */
-	protected int gamesPlayedIn = GAMES_PLAYED_IN_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getMinutesPlayedIn() <em>Minutes Played In</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMinutesPlayedIn()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int MINUTES_PLAYED_IN_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getMinutesPlayedIn() <em>Minutes Played In</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMinutesPlayedIn()
-	 * @generated
-	 * @ordered
-	 */
-	protected int minutesPlayedIn = MINUTES_PLAYED_IN_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getGoalsAgainstAverage() <em>Goals Against Average</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoalsAgainstAverage()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final float GOALS_AGAINST_AVERAGE_EDEFAULT = 0.0F;
-
-	/**
-	 * The cached value of the '{@link #getGoalsAgainstAverage() <em>Goals Against Average</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoalsAgainstAverage()
-	 * @generated
-	 * @ordered
-	 */
-	protected float goalsAgainstAverage = GOALS_AGAINST_AVERAGE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getWins() <em>Wins</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getWins()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int WINS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getWins() <em>Wins</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getWins()
-	 * @generated
-	 * @ordered
-	 */
-	protected int wins = WINS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getLosses() <em>Losses</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLosses()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int LOSSES_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getLosses() <em>Losses</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLosses()
-	 * @generated
-	 * @ordered
-	 */
-	protected int losses = LOSSES_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getTies() <em>Ties</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getTies()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int TIES_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getTies() <em>Ties</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getTies()
-	 * @generated
-	 * @ordered
-	 */
-	protected int ties = TIES_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getEmptyNetGoals() <em>Empty Net Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getEmptyNetGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int EMPTY_NET_GOALS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getEmptyNetGoals() <em>Empty Net Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getEmptyNetGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected int emptyNetGoals = EMPTY_NET_GOALS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getShutouts() <em>Shutouts</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShutouts()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int SHUTOUTS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getShutouts() <em>Shutouts</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShutouts()
-	 * @generated
-	 * @ordered
-	 */
-	protected int shutouts = SHUTOUTS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getGoalsAgainst() <em>Goals Against</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoalsAgainst()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int GOALS_AGAINST_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getGoalsAgainst() <em>Goals Against</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoalsAgainst()
-	 * @generated
-	 * @ordered
-	 */
-	protected int goalsAgainst = GOALS_AGAINST_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getSaves() <em>Saves</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getSaves()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int SAVES_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getSaves() <em>Saves</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getSaves()
-	 * @generated
-	 * @ordered
-	 */
-	protected int saves = SAVES_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getPenaltyMinutes() <em>Penalty Minutes</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPenaltyMinutes()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int PENALTY_MINUTES_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getPenaltyMinutes() <em>Penalty Minutes</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPenaltyMinutes()
-	 * @generated
-	 * @ordered
-	 */
-	protected int penaltyMinutes = PENALTY_MINUTES_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getGoals() <em>Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int GOALS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getGoals() <em>Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected int goals = GOALS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getAssists() <em>Assists</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getAssists()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int ASSISTS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getAssists() <em>Assists</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getAssists()
-	 * @generated
-	 * @ordered
-	 */
-	protected int assists = ASSISTS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getPoints() <em>Points</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPoints()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int POINTS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getPoints() <em>Points</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPoints()
-	 * @generated
-	 * @ordered
-	 */
-	protected int points = POINTS_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected GoalieStatsImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.GOALIE_STATS;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getYear() {
-		return year;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setYear(String newYear) {
-		String oldYear = year;
-		year = newYear;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__YEAR, oldYear, year));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Team getTeam() {
-		if (team != null && team.eIsProxy()) {
-			InternalEObject oldTeam = (InternalEObject)team;
-			team = (Team)eResolveProxy(oldTeam);
-			if (team != oldTeam) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HockeyleaguePackage.GOALIE_STATS__TEAM, oldTeam, team));
-			}
-		}
-		return team;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Team basicGetTeam() {
-		return team;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setTeam(Team newTeam) {
-		Team oldTeam = team;
-		team = newTeam;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__TEAM, oldTeam, team));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getGamesPlayedIn() {
-		return gamesPlayedIn;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setGamesPlayedIn(int newGamesPlayedIn) {
-		int oldGamesPlayedIn = gamesPlayedIn;
-		gamesPlayedIn = newGamesPlayedIn;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__GAMES_PLAYED_IN, oldGamesPlayedIn, gamesPlayedIn));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getMinutesPlayedIn() {
-		return minutesPlayedIn;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMinutesPlayedIn(int newMinutesPlayedIn) {
-		int oldMinutesPlayedIn = minutesPlayedIn;
-		minutesPlayedIn = newMinutesPlayedIn;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__MINUTES_PLAYED_IN, oldMinutesPlayedIn, minutesPlayedIn));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public float getGoalsAgainstAverage() {
-		return goalsAgainstAverage;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setGoalsAgainstAverage(float newGoalsAgainstAverage) {
-		float oldGoalsAgainstAverage = goalsAgainstAverage;
-		goalsAgainstAverage = newGoalsAgainstAverage;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST_AVERAGE, oldGoalsAgainstAverage, goalsAgainstAverage));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getWins() {
-		return wins;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setWins(int newWins) {
-		int oldWins = wins;
-		wins = newWins;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__WINS, oldWins, wins));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getLosses() {
-		return losses;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setLosses(int newLosses) {
-		int oldLosses = losses;
-		losses = newLosses;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__LOSSES, oldLosses, losses));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getTies() {
-		return ties;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setTies(int newTies) {
-		int oldTies = ties;
-		ties = newTies;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__TIES, oldTies, ties));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getEmptyNetGoals() {
-		return emptyNetGoals;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setEmptyNetGoals(int newEmptyNetGoals) {
-		int oldEmptyNetGoals = emptyNetGoals;
-		emptyNetGoals = newEmptyNetGoals;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__EMPTY_NET_GOALS, oldEmptyNetGoals, emptyNetGoals));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getShutouts() {
-		return shutouts;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setShutouts(int newShutouts) {
-		int oldShutouts = shutouts;
-		shutouts = newShutouts;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__SHUTOUTS, oldShutouts, shutouts));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getGoalsAgainst() {
-		return goalsAgainst;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setGoalsAgainst(int newGoalsAgainst) {
-		int oldGoalsAgainst = goalsAgainst;
-		goalsAgainst = newGoalsAgainst;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST, oldGoalsAgainst, goalsAgainst));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getSaves() {
-		return saves;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setSaves(int newSaves) {
-		int oldSaves = saves;
-		saves = newSaves;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__SAVES, oldSaves, saves));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getPenaltyMinutes() {
-		return penaltyMinutes;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPenaltyMinutes(int newPenaltyMinutes) {
-		int oldPenaltyMinutes = penaltyMinutes;
-		penaltyMinutes = newPenaltyMinutes;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__PENALTY_MINUTES, oldPenaltyMinutes, penaltyMinutes));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getGoals() {
-		return goals;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setGoals(int newGoals) {
-		int oldGoals = goals;
-		goals = newGoals;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__GOALS, oldGoals, goals));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getAssists() {
-		return assists;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setAssists(int newAssists) {
-		int oldAssists = assists;
-		assists = newAssists;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__ASSISTS, oldAssists, assists));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getPoints() {
-		return points;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPoints(int newPoints) {
-		int oldPoints = points;
-		points = newPoints;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.GOALIE_STATS__POINTS, oldPoints, points));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.GOALIE_STATS__YEAR:
-				return getYear();
-			case HockeyleaguePackage.GOALIE_STATS__TEAM:
-				if (resolve) return getTeam();
-				return basicGetTeam();
-			case HockeyleaguePackage.GOALIE_STATS__GAMES_PLAYED_IN:
-				return new Integer(getGamesPlayedIn());
-			case HockeyleaguePackage.GOALIE_STATS__MINUTES_PLAYED_IN:
-				return new Integer(getMinutesPlayedIn());
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST_AVERAGE:
-				return new Float(getGoalsAgainstAverage());
-			case HockeyleaguePackage.GOALIE_STATS__WINS:
-				return new Integer(getWins());
-			case HockeyleaguePackage.GOALIE_STATS__LOSSES:
-				return new Integer(getLosses());
-			case HockeyleaguePackage.GOALIE_STATS__TIES:
-				return new Integer(getTies());
-			case HockeyleaguePackage.GOALIE_STATS__EMPTY_NET_GOALS:
-				return new Integer(getEmptyNetGoals());
-			case HockeyleaguePackage.GOALIE_STATS__SHUTOUTS:
-				return new Integer(getShutouts());
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST:
-				return new Integer(getGoalsAgainst());
-			case HockeyleaguePackage.GOALIE_STATS__SAVES:
-				return new Integer(getSaves());
-			case HockeyleaguePackage.GOALIE_STATS__PENALTY_MINUTES:
-				return new Integer(getPenaltyMinutes());
-			case HockeyleaguePackage.GOALIE_STATS__GOALS:
-				return new Integer(getGoals());
-			case HockeyleaguePackage.GOALIE_STATS__ASSISTS:
-				return new Integer(getAssists());
-			case HockeyleaguePackage.GOALIE_STATS__POINTS:
-				return new Integer(getPoints());
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.GOALIE_STATS__YEAR:
-				setYear((String)newValue);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__TEAM:
-				setTeam((Team)newValue);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__GAMES_PLAYED_IN:
-				setGamesPlayedIn(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__MINUTES_PLAYED_IN:
-				setMinutesPlayedIn(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST_AVERAGE:
-				setGoalsAgainstAverage(((Float)newValue).floatValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__WINS:
-				setWins(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__LOSSES:
-				setLosses(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__TIES:
-				setTies(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__EMPTY_NET_GOALS:
-				setEmptyNetGoals(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__SHUTOUTS:
-				setShutouts(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST:
-				setGoalsAgainst(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__SAVES:
-				setSaves(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__PENALTY_MINUTES:
-				setPenaltyMinutes(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__GOALS:
-				setGoals(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__ASSISTS:
-				setAssists(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__POINTS:
-				setPoints(((Integer)newValue).intValue());
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.GOALIE_STATS__YEAR:
-				setYear(YEAR_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__TEAM:
-				setTeam((Team)null);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__GAMES_PLAYED_IN:
-				setGamesPlayedIn(GAMES_PLAYED_IN_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__MINUTES_PLAYED_IN:
-				setMinutesPlayedIn(MINUTES_PLAYED_IN_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST_AVERAGE:
-				setGoalsAgainstAverage(GOALS_AGAINST_AVERAGE_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__WINS:
-				setWins(WINS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__LOSSES:
-				setLosses(LOSSES_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__TIES:
-				setTies(TIES_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__EMPTY_NET_GOALS:
-				setEmptyNetGoals(EMPTY_NET_GOALS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__SHUTOUTS:
-				setShutouts(SHUTOUTS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST:
-				setGoalsAgainst(GOALS_AGAINST_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__SAVES:
-				setSaves(SAVES_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__PENALTY_MINUTES:
-				setPenaltyMinutes(PENALTY_MINUTES_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__GOALS:
-				setGoals(GOALS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__ASSISTS:
-				setAssists(ASSISTS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.GOALIE_STATS__POINTS:
-				setPoints(POINTS_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.GOALIE_STATS__YEAR:
-				return YEAR_EDEFAULT == null ? year != null : !YEAR_EDEFAULT.equals(year);
-			case HockeyleaguePackage.GOALIE_STATS__TEAM:
-				return team != null;
-			case HockeyleaguePackage.GOALIE_STATS__GAMES_PLAYED_IN:
-				return gamesPlayedIn != GAMES_PLAYED_IN_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__MINUTES_PLAYED_IN:
-				return minutesPlayedIn != MINUTES_PLAYED_IN_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST_AVERAGE:
-				return goalsAgainstAverage != GOALS_AGAINST_AVERAGE_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__WINS:
-				return wins != WINS_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__LOSSES:
-				return losses != LOSSES_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__TIES:
-				return ties != TIES_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__EMPTY_NET_GOALS:
-				return emptyNetGoals != EMPTY_NET_GOALS_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__SHUTOUTS:
-				return shutouts != SHUTOUTS_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST:
-				return goalsAgainst != GOALS_AGAINST_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__SAVES:
-				return saves != SAVES_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__PENALTY_MINUTES:
-				return penaltyMinutes != PENALTY_MINUTES_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__GOALS:
-				return goals != GOALS_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__ASSISTS:
-				return assists != ASSISTS_EDEFAULT;
-			case HockeyleaguePackage.GOALIE_STATS__POINTS:
-				return points != POINTS_EDEFAULT;
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (year: "); //$NON-NLS-1$
-		result.append(year);
-		result.append(", gamesPlayedIn: "); //$NON-NLS-1$
-		result.append(gamesPlayedIn);
-		result.append(", minutesPlayedIn: "); //$NON-NLS-1$
-		result.append(minutesPlayedIn);
-		result.append(", goalsAgainstAverage: "); //$NON-NLS-1$
-		result.append(goalsAgainstAverage);
-		result.append(", wins: "); //$NON-NLS-1$
-		result.append(wins);
-		result.append(", losses: "); //$NON-NLS-1$
-		result.append(losses);
-		result.append(", ties: "); //$NON-NLS-1$
-		result.append(ties);
-		result.append(", emptyNetGoals: "); //$NON-NLS-1$
-		result.append(emptyNetGoals);
-		result.append(", shutouts: "); //$NON-NLS-1$
-		result.append(shutouts);
-		result.append(", goalsAgainst: "); //$NON-NLS-1$
-		result.append(goalsAgainst);
-		result.append(", saves: "); //$NON-NLS-1$
-		result.append(saves);
-		result.append(", penaltyMinutes: "); //$NON-NLS-1$
-		result.append(penaltyMinutes);
-		result.append(", goals: "); //$NON-NLS-1$
-		result.append(goals);
-		result.append(", assists: "); //$NON-NLS-1$
-		result.append(assists);
-		result.append(", points: "); //$NON-NLS-1$
-		result.append(points);
-		result.append(')');
-		return result.toString();
-	}
-
-} //GoalieStatsImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleagueFactoryImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleagueFactoryImpl.java
deleted file mode 100644
index 025562b..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleagueFactoryImpl.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
-import org.eclipse.emf.ecore.plugin.EcorePlugin;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.*;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class HockeyleagueFactoryImpl extends EFactoryImpl implements HockeyleagueFactory {
-	/**
-	 * Creates the default factory implementation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static HockeyleagueFactory init() {
-		try {
-			HockeyleagueFactory theHockeyleagueFactory = (HockeyleagueFactory)EPackage.Registry.INSTANCE.getEFactory("http:///org/eclipse/ui/views/properties/tabbed/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ecore"); //$NON-NLS-1$ 
-			if (theHockeyleagueFactory != null) {
-				return theHockeyleagueFactory;
-			}
-		}
-		catch (Exception exception) {
-			EcorePlugin.INSTANCE.log(exception);
-		}
-		return new HockeyleagueFactoryImpl();
-	}
-
-	/**
-	 * Creates an instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HockeyleagueFactoryImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EObject create(EClass eClass) {
-		switch (eClass.getClassifierID()) {
-			case HockeyleaguePackage.ARENA: return createArena();
-			case HockeyleaguePackage.DEFENCE: return createDefence();
-			case HockeyleaguePackage.FORWARD: return createForward();
-			case HockeyleaguePackage.GOALIE: return createGoalie();
-			case HockeyleaguePackage.GOALIE_STATS: return createGoalieStats();
-			case HockeyleaguePackage.LEAGUE: return createLeague();
-			case HockeyleaguePackage.PLAYER_STATS: return createPlayerStats();
-			case HockeyleaguePackage.TEAM: return createTeam();
-			default:
-				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object createFromString(EDataType eDataType, String initialValue) {
-		switch (eDataType.getClassifierID()) {
-			case HockeyleaguePackage.DEFENCE_POSITION_KIND:
-				return createDefencePositionKindFromString(eDataType, initialValue);
-			case HockeyleaguePackage.FORWARD_POSITION_KIND:
-				return createForwardPositionKindFromString(eDataType, initialValue);
-			case HockeyleaguePackage.HEIGHT_KIND:
-				return createHeightKindFromString(eDataType, initialValue);
-			case HockeyleaguePackage.SHOT_KIND:
-				return createShotKindFromString(eDataType, initialValue);
-			case HockeyleaguePackage.WEIGHT_KIND:
-				return createWeightKindFromString(eDataType, initialValue);
-			default:
-				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertToString(EDataType eDataType, Object instanceValue) {
-		switch (eDataType.getClassifierID()) {
-			case HockeyleaguePackage.DEFENCE_POSITION_KIND:
-				return convertDefencePositionKindToString(eDataType, instanceValue);
-			case HockeyleaguePackage.FORWARD_POSITION_KIND:
-				return convertForwardPositionKindToString(eDataType, instanceValue);
-			case HockeyleaguePackage.HEIGHT_KIND:
-				return convertHeightKindToString(eDataType, instanceValue);
-			case HockeyleaguePackage.SHOT_KIND:
-				return convertShotKindToString(eDataType, instanceValue);
-			case HockeyleaguePackage.WEIGHT_KIND:
-				return convertWeightKindToString(eDataType, instanceValue);
-			default:
-				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Arena createArena() {
-		ArenaImpl arena = new ArenaImpl();
-		return arena;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Defence createDefence() {
-		DefenceImpl defence = new DefenceImpl();
-		return defence;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Forward createForward() {
-		ForwardImpl forward = new ForwardImpl();
-		return forward;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Goalie createGoalie() {
-		GoalieImpl goalie = new GoalieImpl();
-		return goalie;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public GoalieStats createGoalieStats() {
-		GoalieStatsImpl goalieStats = new GoalieStatsImpl();
-		return goalieStats;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public League createLeague() {
-		LeagueImpl league = new LeagueImpl();
-		return league;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PlayerStats createPlayerStats() {
-		PlayerStatsImpl playerStats = new PlayerStatsImpl();
-		return playerStats;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Team createTeam() {
-		TeamImpl team = new TeamImpl();
-		return team;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public DefencePositionKind createDefencePositionKindFromString(EDataType eDataType, String initialValue) {
-		DefencePositionKind result = DefencePositionKind.get(initialValue);
-		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		return result;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertDefencePositionKindToString(EDataType eDataType, Object instanceValue) {
-		return instanceValue == null ? null : instanceValue.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ForwardPositionKind createForwardPositionKindFromString(EDataType eDataType, String initialValue) {
-		ForwardPositionKind result = ForwardPositionKind.get(initialValue);
-		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		return result;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertForwardPositionKindToString(EDataType eDataType, Object instanceValue) {
-		return instanceValue == null ? null : instanceValue.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HeightKind createHeightKindFromString(EDataType eDataType, String initialValue) {
-		HeightKind result = HeightKind.get(initialValue);
-		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		return result;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertHeightKindToString(EDataType eDataType, Object instanceValue) {
-		return instanceValue == null ? null : instanceValue.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ShotKind createShotKindFromString(EDataType eDataType, String initialValue) {
-		ShotKind result = ShotKind.get(initialValue);
-		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		return result;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertShotKindToString(EDataType eDataType, Object instanceValue) {
-		return instanceValue == null ? null : instanceValue.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public WeightKind createWeightKindFromString(EDataType eDataType, String initialValue) {
-		WeightKind result = WeightKind.get(initialValue);
-		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		return result;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertWeightKindToString(EDataType eDataType, Object instanceValue) {
-		return instanceValue == null ? null : instanceValue.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HockeyleaguePackage getHockeyleaguePackage() {
-		return (HockeyleaguePackage)getEPackage();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @deprecated
-	 * @generated
-	 */
-	public static HockeyleaguePackage getPackage() {
-		return HockeyleaguePackage.eINSTANCE;
-	}
-
-} //HockeyleagueFactoryImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleagueObjectImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleagueObjectImpl.java
deleted file mode 100644
index 080c1e4..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleagueObjectImpl.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Object</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.HockeyleagueObjectImpl#getName <em>Name</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public abstract class HockeyleagueObjectImpl extends EObjectImpl implements HockeyleagueObject {
-	/**
-	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String NAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String name = NAME_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected HockeyleagueObjectImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.HOCKEYLEAGUE_OBJECT;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setName(String newName) {
-		String oldName = name;
-		name = newName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.HOCKEYLEAGUE_OBJECT__NAME, oldName, name));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.HOCKEYLEAGUE_OBJECT__NAME:
-				return getName();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.HOCKEYLEAGUE_OBJECT__NAME:
-				setName((String)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.HOCKEYLEAGUE_OBJECT__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.HOCKEYLEAGUE_OBJECT__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (name: "); //$NON-NLS-1$
-		result.append(name);
-		result.append(')');
-		return result.toString();
-	}
-
-} //HockeyleagueObjectImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleaguePackageImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleaguePackageImpl.java
deleted file mode 100644
index b8dc923..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/HockeyleaguePackageImpl.java
+++ /dev/null
@@ -1,1050 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class HockeyleaguePackageImpl extends EPackageImpl implements HockeyleaguePackage {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass arenaEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass defenceEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass forwardEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass goalieEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass goalieStatsEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass hockeyleagueObjectEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass leagueEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass playerEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass playerStatsEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass teamEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EEnum defencePositionKindEEnum = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EEnum forwardPositionKindEEnum = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EEnum heightKindEEnum = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EEnum shotKindEEnum = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EEnum weightKindEEnum = null;
-
-	/**
-	 * Creates an instance of the model <b>Package</b>, registered with
-	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
-	 * package URI value.
-	 * <p>Note: the correct way to create the package is via the static
-	 * factory method {@link #init init()}, which also performs
-	 * initialization of the package, or returns the registered package,
-	 * if one already exists.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.emf.ecore.EPackage.Registry
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage#eNS_URI
-	 * @see #init()
-	 * @generated
-	 */
-	private HockeyleaguePackageImpl() {
-		super(eNS_URI, HockeyleagueFactory.eINSTANCE);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static boolean isInited = false;
-
-	/**
-	 * Creates, registers, and initializes the <b>Package</b> for this
-	 * model, and for any others upon which it depends.  Simple
-	 * dependencies are satisfied by calling this method on all
-	 * dependent packages before doing anything else.  This method drives
-	 * initialization for interdependent packages directly, in parallel
-	 * with this package, itself.
-	 * <p>Of this package and its interdependencies, all packages which
-	 * have not yet been registered by their URI values are first created
-	 * and registered.  The packages are then initialized in two steps:
-	 * meta-model objects for all of the packages are created before any
-	 * are initialized, since one package's meta-model objects may refer to
-	 * those of another.
-	 * <p>Invocation of this method will not affect any packages that have
-	 * already been initialized.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #eNS_URI
-	 * @see #createPackageContents()
-	 * @see #initializePackageContents()
-	 * @generated
-	 */
-	public static HockeyleaguePackage init() {
-		if (isInited) return (HockeyleaguePackage)EPackage.Registry.INSTANCE.getEPackage(HockeyleaguePackage.eNS_URI);
-
-		// Obtain or create and register package
-		HockeyleaguePackageImpl theHockeyleaguePackage = (HockeyleaguePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof HockeyleaguePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new HockeyleaguePackageImpl());
-
-		isInited = true;
-
-		// Create package meta-data objects
-		theHockeyleaguePackage.createPackageContents();
-
-		// Initialize created meta-data
-		theHockeyleaguePackage.initializePackageContents();
-
-		// Mark meta-data to indicate it can't be changed
-		theHockeyleaguePackage.freeze();
-
-		return theHockeyleaguePackage;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getArena() {
-		return arenaEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getArena_Address() {
-		return (EAttribute)arenaEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getArena_Capacity() {
-		return (EAttribute)arenaEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getDefence() {
-		return defenceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getDefence_Position() {
-		return (EAttribute)defenceEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getDefence_PlayerStats() {
-		return (EReference)defenceEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getForward() {
-		return forwardEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getForward_Position() {
-		return (EAttribute)forwardEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getForward_PlayerStats() {
-		return (EReference)forwardEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getGoalie() {
-		return goalieEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getGoalie_GoalieStats() {
-		return (EReference)goalieEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getGoalieStats() {
-		return goalieStatsEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_Year() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getGoalieStats_Team() {
-		return (EReference)goalieStatsEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_GamesPlayedIn() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_MinutesPlayedIn() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_GoalsAgainstAverage() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_Wins() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_Losses() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_Ties() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(7);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_EmptyNetGoals() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(8);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_Shutouts() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(9);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_GoalsAgainst() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(10);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_Saves() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(11);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_PenaltyMinutes() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(12);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_Goals() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(13);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_Assists() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(14);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getGoalieStats_Points() {
-		return (EAttribute)goalieStatsEClass.getEStructuralFeatures().get(15);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getHockeyleagueObject() {
-		return hockeyleagueObjectEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getHockeyleagueObject_Name() {
-		return (EAttribute)hockeyleagueObjectEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getLeague() {
-		return leagueEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLeague_Headoffice() {
-		return (EAttribute)leagueEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getLeague_Teams() {
-		return (EReference)leagueEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPlayer() {
-		return playerEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayer_Birthplace() {
-		return (EAttribute)playerEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayer_Number() {
-		return (EAttribute)playerEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayer_HeightMesurement() {
-		return (EAttribute)playerEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayer_HeightValue() {
-		return (EAttribute)playerEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayer_WeightMesurement() {
-		return (EAttribute)playerEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayer_WeightValue() {
-		return (EAttribute)playerEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayer_Shot() {
-		return (EAttribute)playerEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayer_Birthdate() {
-		return (EAttribute)playerEClass.getEStructuralFeatures().get(7);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPlayerStats() {
-		return playerStatsEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_Year() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getPlayerStats_Team() {
-		return (EReference)playerStatsEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_GamesPlayedIn() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_Goals() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_Assists() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_Points() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_PlusMinus() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_PenaltyMinutes() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(7);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_PowerPlayGoals() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(8);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_ShortHandedGoals() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(9);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_GameWinningGoals() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(10);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_Shots() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(11);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPlayerStats_ShotPercentage() {
-		return (EAttribute)playerStatsEClass.getEStructuralFeatures().get(12);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getTeam() {
-		return teamEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getTeam_Forwards() {
-		return (EReference)teamEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getTeam_Defencemen() {
-		return (EReference)teamEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getTeam_Goalies() {
-		return (EReference)teamEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getTeam_Arena() {
-		return (EReference)teamEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EEnum getDefencePositionKind() {
-		return defencePositionKindEEnum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EEnum getForwardPositionKind() {
-		return forwardPositionKindEEnum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EEnum getHeightKind() {
-		return heightKindEEnum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EEnum getShotKind() {
-		return shotKindEEnum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EEnum getWeightKind() {
-		return weightKindEEnum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HockeyleagueFactory getHockeyleagueFactory() {
-		return (HockeyleagueFactory)getEFactoryInstance();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isCreated = false;
-
-	/**
-	 * Creates the meta-model objects for the package.  This method is
-	 * guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void createPackageContents() {
-		if (isCreated) return;
-		isCreated = true;
-
-		// Create classes and their features
-		arenaEClass = createEClass(ARENA);
-		createEAttribute(arenaEClass, ARENA__ADDRESS);
-		createEAttribute(arenaEClass, ARENA__CAPACITY);
-
-		defenceEClass = createEClass(DEFENCE);
-		createEAttribute(defenceEClass, DEFENCE__POSITION);
-		createEReference(defenceEClass, DEFENCE__PLAYER_STATS);
-
-		forwardEClass = createEClass(FORWARD);
-		createEAttribute(forwardEClass, FORWARD__POSITION);
-		createEReference(forwardEClass, FORWARD__PLAYER_STATS);
-
-		goalieEClass = createEClass(GOALIE);
-		createEReference(goalieEClass, GOALIE__GOALIE_STATS);
-
-		goalieStatsEClass = createEClass(GOALIE_STATS);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__YEAR);
-		createEReference(goalieStatsEClass, GOALIE_STATS__TEAM);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__GAMES_PLAYED_IN);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__MINUTES_PLAYED_IN);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__GOALS_AGAINST_AVERAGE);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__WINS);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__LOSSES);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__TIES);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__EMPTY_NET_GOALS);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__SHUTOUTS);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__GOALS_AGAINST);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__SAVES);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__PENALTY_MINUTES);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__GOALS);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__ASSISTS);
-		createEAttribute(goalieStatsEClass, GOALIE_STATS__POINTS);
-
-		hockeyleagueObjectEClass = createEClass(HOCKEYLEAGUE_OBJECT);
-		createEAttribute(hockeyleagueObjectEClass, HOCKEYLEAGUE_OBJECT__NAME);
-
-		leagueEClass = createEClass(LEAGUE);
-		createEAttribute(leagueEClass, LEAGUE__HEADOFFICE);
-		createEReference(leagueEClass, LEAGUE__TEAMS);
-
-		playerEClass = createEClass(PLAYER);
-		createEAttribute(playerEClass, PLAYER__BIRTHPLACE);
-		createEAttribute(playerEClass, PLAYER__NUMBER);
-		createEAttribute(playerEClass, PLAYER__HEIGHT_MESUREMENT);
-		createEAttribute(playerEClass, PLAYER__HEIGHT_VALUE);
-		createEAttribute(playerEClass, PLAYER__WEIGHT_MESUREMENT);
-		createEAttribute(playerEClass, PLAYER__WEIGHT_VALUE);
-		createEAttribute(playerEClass, PLAYER__SHOT);
-		createEAttribute(playerEClass, PLAYER__BIRTHDATE);
-
-		playerStatsEClass = createEClass(PLAYER_STATS);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__YEAR);
-		createEReference(playerStatsEClass, PLAYER_STATS__TEAM);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__GAMES_PLAYED_IN);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__GOALS);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__ASSISTS);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__POINTS);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__PLUS_MINUS);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__PENALTY_MINUTES);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__POWER_PLAY_GOALS);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__SHORT_HANDED_GOALS);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__GAME_WINNING_GOALS);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__SHOTS);
-		createEAttribute(playerStatsEClass, PLAYER_STATS__SHOT_PERCENTAGE);
-
-		teamEClass = createEClass(TEAM);
-		createEReference(teamEClass, TEAM__FORWARDS);
-		createEReference(teamEClass, TEAM__DEFENCEMEN);
-		createEReference(teamEClass, TEAM__GOALIES);
-		createEReference(teamEClass, TEAM__ARENA);
-
-		// Create enums
-		defencePositionKindEEnum = createEEnum(DEFENCE_POSITION_KIND);
-		forwardPositionKindEEnum = createEEnum(FORWARD_POSITION_KIND);
-		heightKindEEnum = createEEnum(HEIGHT_KIND);
-		shotKindEEnum = createEEnum(SHOT_KIND);
-		weightKindEEnum = createEEnum(WEIGHT_KIND);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isInitialized = false;
-
-	/**
-	 * Complete the initialization of the package and its meta-model.  This
-	 * method is guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void initializePackageContents() {
-		if (isInitialized) return;
-		isInitialized = true;
-
-		// Initialize package
-		setName(eNAME);
-		setNsPrefix(eNS_PREFIX);
-		setNsURI(eNS_URI);
-
-		// Add supertypes to classes
-		arenaEClass.getESuperTypes().add(this.getHockeyleagueObject());
-		defenceEClass.getESuperTypes().add(this.getPlayer());
-		forwardEClass.getESuperTypes().add(this.getPlayer());
-		goalieEClass.getESuperTypes().add(this.getPlayer());
-		leagueEClass.getESuperTypes().add(this.getHockeyleagueObject());
-		playerEClass.getESuperTypes().add(this.getHockeyleagueObject());
-		teamEClass.getESuperTypes().add(this.getHockeyleagueObject());
-
-		// Initialize classes and features; add operations and parameters
-		initEClass(arenaEClass, Arena.class, "Arena", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getArena_Address(), ecorePackage.getEString(), "address", null, 0, 1, Arena.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getArena_Capacity(), ecorePackage.getEInt(), "capacity", null, 0, 1, Arena.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(defenceEClass, Defence.class, "Defence", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getDefence_Position(), this.getDefencePositionKind(), "position", null, 0, 1, Defence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(getDefence_PlayerStats(), this.getPlayerStats(), null, "playerStats", null, 0, -1, Defence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(forwardEClass, Forward.class, "Forward", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getForward_Position(), this.getForwardPositionKind(), "position", null, 0, 1, Forward.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(getForward_PlayerStats(), this.getPlayerStats(), null, "playerStats", null, 0, -1, Forward.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(goalieEClass, Goalie.class, "Goalie", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(getGoalie_GoalieStats(), this.getGoalieStats(), null, "goalieStats", null, 0, -1, Goalie.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(goalieStatsEClass, GoalieStats.class, "GoalieStats", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_Year(), ecorePackage.getEString(), "year", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(getGoalieStats_Team(), this.getTeam(), null, "team", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_GamesPlayedIn(), ecorePackage.getEInt(), "gamesPlayedIn", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_MinutesPlayedIn(), ecorePackage.getEInt(), "minutesPlayedIn", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_GoalsAgainstAverage(), ecorePackage.getEFloat(), "goalsAgainstAverage", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_Wins(), ecorePackage.getEInt(), "wins", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_Losses(), ecorePackage.getEInt(), "losses", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_Ties(), ecorePackage.getEInt(), "ties", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_EmptyNetGoals(), ecorePackage.getEInt(), "emptyNetGoals", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_Shutouts(), ecorePackage.getEInt(), "shutouts", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_GoalsAgainst(), ecorePackage.getEInt(), "goalsAgainst", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_Saves(), ecorePackage.getEInt(), "saves", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_PenaltyMinutes(), ecorePackage.getEInt(), "penaltyMinutes", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_Goals(), ecorePackage.getEInt(), "goals", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_Assists(), ecorePackage.getEInt(), "assists", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getGoalieStats_Points(), ecorePackage.getEInt(), "points", null, 0, 1, GoalieStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(hockeyleagueObjectEClass, HockeyleagueObject.class, "HockeyleagueObject", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getHockeyleagueObject_Name(), ecorePackage.getEString(), "name", null, 0, 1, HockeyleagueObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(leagueEClass, League.class, "League", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getLeague_Headoffice(), ecorePackage.getEString(), "headoffice", null, 0, 1, League.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(getLeague_Teams(), this.getTeam(), null, "teams", null, 0, -1, League.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(playerEClass, Player.class, "Player", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getPlayer_Birthplace(), ecorePackage.getEString(), "birthplace", null, 0, 1, Player.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayer_Number(), ecorePackage.getEInt(), "number", null, 0, 1, Player.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayer_HeightMesurement(), this.getHeightKind(), "heightMesurement", null, 0, 1, Player.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayer_HeightValue(), ecorePackage.getEInt(), "heightValue", null, 0, 1, Player.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayer_WeightMesurement(), this.getWeightKind(), "weightMesurement", null, 0, 1, Player.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayer_WeightValue(), ecorePackage.getEInt(), "weightValue", null, 0, 1, Player.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayer_Shot(), this.getShotKind(), "shot", null, 0, 1, Player.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayer_Birthdate(), ecorePackage.getEString(), "birthdate", null, 0, 1, Player.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(playerStatsEClass, PlayerStats.class, "PlayerStats", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_Year(), ecorePackage.getEString(), "year", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(getPlayerStats_Team(), this.getTeam(), null, "team", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_GamesPlayedIn(), ecorePackage.getEInt(), "gamesPlayedIn", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_Goals(), ecorePackage.getEInt(), "goals", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_Assists(), ecorePackage.getEInt(), "assists", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_Points(), ecorePackage.getEInt(), "points", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_PlusMinus(), ecorePackage.getEInt(), "plusMinus", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_PenaltyMinutes(), ecorePackage.getEInt(), "penaltyMinutes", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_PowerPlayGoals(), ecorePackage.getEInt(), "powerPlayGoals", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_ShortHandedGoals(), ecorePackage.getEInt(), "shortHandedGoals", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_GameWinningGoals(), ecorePackage.getEInt(), "gameWinningGoals", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_Shots(), ecorePackage.getEInt(), "shots", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getPlayerStats_ShotPercentage(), ecorePackage.getEFloat(), "shotPercentage", null, 0, 1, PlayerStats.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(teamEClass, Team.class, "Team", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(getTeam_Forwards(), this.getForward(), null, "forwards", null, 0, -1, Team.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(getTeam_Defencemen(), this.getDefence(), null, "defencemen", null, 0, -1, Team.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(getTeam_Goalies(), this.getGoalie(), null, "goalies", null, 0, -1, Team.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(getTeam_Arena(), this.getArena(), null, "arena", null, 0, 1, Team.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
-		// Initialize enums and add enum literals
-		initEEnum(defencePositionKindEEnum, DefencePositionKind.class, "DefencePositionKind"); //$NON-NLS-1$
-		addEEnumLiteral(defencePositionKindEEnum, DefencePositionKind.LEFT_DEFENCE_LITERAL);
-		addEEnumLiteral(defencePositionKindEEnum, DefencePositionKind.RIGHT_DEFENCE_LITERAL);
-
-		initEEnum(forwardPositionKindEEnum, ForwardPositionKind.class, "ForwardPositionKind"); //$NON-NLS-1$
-		addEEnumLiteral(forwardPositionKindEEnum, ForwardPositionKind.LEFT_WING_LITERAL);
-		addEEnumLiteral(forwardPositionKindEEnum, ForwardPositionKind.RIGHT_WING_LITERAL);
-		addEEnumLiteral(forwardPositionKindEEnum, ForwardPositionKind.CENTER_LITERAL);
-
-		initEEnum(heightKindEEnum, HeightKind.class, "HeightKind"); //$NON-NLS-1$
-		addEEnumLiteral(heightKindEEnum, HeightKind.INCHES_LITERAL);
-		addEEnumLiteral(heightKindEEnum, HeightKind.CENTIMETERS_LITERAL);
-
-		initEEnum(shotKindEEnum, ShotKind.class, "ShotKind"); //$NON-NLS-1$
-		addEEnumLiteral(shotKindEEnum, ShotKind.LEFT_LITERAL);
-		addEEnumLiteral(shotKindEEnum, ShotKind.RIGHT_LITERAL);
-
-		initEEnum(weightKindEEnum, WeightKind.class, "WeightKind"); //$NON-NLS-1$
-		addEEnumLiteral(weightKindEEnum, WeightKind.POUNDS_LITERAL);
-		addEEnumLiteral(weightKindEEnum, WeightKind.KILOGRAMS_LITERAL);
-
-		// Create resource
-		createResource(eNS_URI);
-	}
-
-} //HockeyleaguePackageImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/LeagueImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/LeagueImpl.java
deleted file mode 100644
index 3ccd325..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/LeagueImpl.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>League</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.LeagueImpl#getHeadoffice <em>Headoffice</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.LeagueImpl#getTeams <em>Teams</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class LeagueImpl extends HockeyleagueObjectImpl implements League {
-	/**
-	 * The default value of the '{@link #getHeadoffice() <em>Headoffice</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getHeadoffice()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String HEADOFFICE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getHeadoffice() <em>Headoffice</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getHeadoffice()
-	 * @generated
-	 * @ordered
-	 */
-	protected String headoffice = HEADOFFICE_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getTeams() <em>Teams</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getTeams()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList teams = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected LeagueImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.LEAGUE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getHeadoffice() {
-		return headoffice;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setHeadoffice(String newHeadoffice) {
-		String oldHeadoffice = headoffice;
-		headoffice = newHeadoffice;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.LEAGUE__HEADOFFICE, oldHeadoffice, headoffice));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getTeams() {
-		if (teams == null) {
-			teams = new EObjectContainmentEList(Team.class, this, HockeyleaguePackage.LEAGUE__TEAMS);
-		}
-		return teams;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case HockeyleaguePackage.LEAGUE__TEAMS:
-				return ((InternalEList)getTeams()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.LEAGUE__HEADOFFICE:
-				return getHeadoffice();
-			case HockeyleaguePackage.LEAGUE__TEAMS:
-				return getTeams();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.LEAGUE__HEADOFFICE:
-				setHeadoffice((String)newValue);
-				return;
-			case HockeyleaguePackage.LEAGUE__TEAMS:
-				getTeams().clear();
-				getTeams().addAll((Collection)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.LEAGUE__HEADOFFICE:
-				setHeadoffice(HEADOFFICE_EDEFAULT);
-				return;
-			case HockeyleaguePackage.LEAGUE__TEAMS:
-				getTeams().clear();
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.LEAGUE__HEADOFFICE:
-				return HEADOFFICE_EDEFAULT == null ? headoffice != null : !HEADOFFICE_EDEFAULT.equals(headoffice);
-			case HockeyleaguePackage.LEAGUE__TEAMS:
-				return teams != null && !teams.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (headoffice: "); //$NON-NLS-1$
-		result.append(headoffice);
-		result.append(')');
-		return result.toString();
-	}
-
-} //LeagueImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/PlayerImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/PlayerImpl.java
deleted file mode 100644
index a37d89a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/PlayerImpl.java
+++ /dev/null
@@ -1,545 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Player</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl#getBirthplace <em>Birthplace</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl#getNumber <em>Number</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl#getHeightMesurement <em>Height Mesurement</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl#getHeightValue <em>Height Value</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl#getWeightMesurement <em>Weight Mesurement</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl#getWeightValue <em>Weight Value</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl#getShot <em>Shot</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerImpl#getBirthdate <em>Birthdate</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public abstract class PlayerImpl extends HockeyleagueObjectImpl implements Player {
-	/**
-	 * The default value of the '{@link #getBirthplace() <em>Birthplace</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getBirthplace()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String BIRTHPLACE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getBirthplace() <em>Birthplace</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getBirthplace()
-	 * @generated
-	 * @ordered
-	 */
-	protected String birthplace = BIRTHPLACE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getNumber() <em>Number</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getNumber()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int NUMBER_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getNumber() <em>Number</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getNumber()
-	 * @generated
-	 * @ordered
-	 */
-	protected int number = NUMBER_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getHeightMesurement() <em>Height Mesurement</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getHeightMesurement()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final HeightKind HEIGHT_MESUREMENT_EDEFAULT = HeightKind.INCHES_LITERAL;
-
-	/**
-	 * The cached value of the '{@link #getHeightMesurement() <em>Height Mesurement</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getHeightMesurement()
-	 * @generated
-	 * @ordered
-	 */
-	protected HeightKind heightMesurement = HEIGHT_MESUREMENT_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getHeightValue() <em>Height Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getHeightValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int HEIGHT_VALUE_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getHeightValue() <em>Height Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getHeightValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected int heightValue = HEIGHT_VALUE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getWeightMesurement() <em>Weight Mesurement</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getWeightMesurement()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final WeightKind WEIGHT_MESUREMENT_EDEFAULT = WeightKind.POUNDS_LITERAL;
-
-	/**
-	 * The cached value of the '{@link #getWeightMesurement() <em>Weight Mesurement</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getWeightMesurement()
-	 * @generated
-	 * @ordered
-	 */
-	protected WeightKind weightMesurement = WEIGHT_MESUREMENT_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getWeightValue() <em>Weight Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getWeightValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int WEIGHT_VALUE_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getWeightValue() <em>Weight Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getWeightValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected int weightValue = WEIGHT_VALUE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getShot() <em>Shot</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShot()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final ShotKind SHOT_EDEFAULT = ShotKind.LEFT_LITERAL;
-
-	/**
-	 * The cached value of the '{@link #getShot() <em>Shot</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShot()
-	 * @generated
-	 * @ordered
-	 */
-	protected ShotKind shot = SHOT_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getBirthdate() <em>Birthdate</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getBirthdate()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String BIRTHDATE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getBirthdate() <em>Birthdate</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getBirthdate()
-	 * @generated
-	 * @ordered
-	 */
-	protected String birthdate = BIRTHDATE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PlayerImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.PLAYER;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getBirthplace() {
-		return birthplace;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setBirthplace(String newBirthplace) {
-		String oldBirthplace = birthplace;
-		birthplace = newBirthplace;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER__BIRTHPLACE, oldBirthplace, birthplace));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getNumber() {
-		return number;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setNumber(int newNumber) {
-		int oldNumber = number;
-		number = newNumber;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER__NUMBER, oldNumber, number));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HeightKind getHeightMesurement() {
-		return heightMesurement;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setHeightMesurement(HeightKind newHeightMesurement) {
-		HeightKind oldHeightMesurement = heightMesurement;
-		heightMesurement = newHeightMesurement == null ? HEIGHT_MESUREMENT_EDEFAULT : newHeightMesurement;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER__HEIGHT_MESUREMENT, oldHeightMesurement, heightMesurement));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getHeightValue() {
-		return heightValue;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setHeightValue(int newHeightValue) {
-		int oldHeightValue = heightValue;
-		heightValue = newHeightValue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER__HEIGHT_VALUE, oldHeightValue, heightValue));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public WeightKind getWeightMesurement() {
-		return weightMesurement;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setWeightMesurement(WeightKind newWeightMesurement) {
-		WeightKind oldWeightMesurement = weightMesurement;
-		weightMesurement = newWeightMesurement == null ? WEIGHT_MESUREMENT_EDEFAULT : newWeightMesurement;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER__WEIGHT_MESUREMENT, oldWeightMesurement, weightMesurement));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getWeightValue() {
-		return weightValue;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setWeightValue(int newWeightValue) {
-		int oldWeightValue = weightValue;
-		weightValue = newWeightValue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER__WEIGHT_VALUE, oldWeightValue, weightValue));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ShotKind getShot() {
-		return shot;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setShot(ShotKind newShot) {
-		ShotKind oldShot = shot;
-		shot = newShot == null ? SHOT_EDEFAULT : newShot;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER__SHOT, oldShot, shot));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getBirthdate() {
-		return birthdate;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setBirthdate(String newBirthdate) {
-		String oldBirthdate = birthdate;
-		birthdate = newBirthdate;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER__BIRTHDATE, oldBirthdate, birthdate));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.PLAYER__BIRTHPLACE:
-				return getBirthplace();
-			case HockeyleaguePackage.PLAYER__NUMBER:
-				return new Integer(getNumber());
-			case HockeyleaguePackage.PLAYER__HEIGHT_MESUREMENT:
-				return getHeightMesurement();
-			case HockeyleaguePackage.PLAYER__HEIGHT_VALUE:
-				return new Integer(getHeightValue());
-			case HockeyleaguePackage.PLAYER__WEIGHT_MESUREMENT:
-				return getWeightMesurement();
-			case HockeyleaguePackage.PLAYER__WEIGHT_VALUE:
-				return new Integer(getWeightValue());
-			case HockeyleaguePackage.PLAYER__SHOT:
-				return getShot();
-			case HockeyleaguePackage.PLAYER__BIRTHDATE:
-				return getBirthdate();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.PLAYER__BIRTHPLACE:
-				setBirthplace((String)newValue);
-				return;
-			case HockeyleaguePackage.PLAYER__NUMBER:
-				setNumber(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER__HEIGHT_MESUREMENT:
-				setHeightMesurement((HeightKind)newValue);
-				return;
-			case HockeyleaguePackage.PLAYER__HEIGHT_VALUE:
-				setHeightValue(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER__WEIGHT_MESUREMENT:
-				setWeightMesurement((WeightKind)newValue);
-				return;
-			case HockeyleaguePackage.PLAYER__WEIGHT_VALUE:
-				setWeightValue(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER__SHOT:
-				setShot((ShotKind)newValue);
-				return;
-			case HockeyleaguePackage.PLAYER__BIRTHDATE:
-				setBirthdate((String)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.PLAYER__BIRTHPLACE:
-				setBirthplace(BIRTHPLACE_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER__NUMBER:
-				setNumber(NUMBER_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER__HEIGHT_MESUREMENT:
-				setHeightMesurement(HEIGHT_MESUREMENT_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER__HEIGHT_VALUE:
-				setHeightValue(HEIGHT_VALUE_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER__WEIGHT_MESUREMENT:
-				setWeightMesurement(WEIGHT_MESUREMENT_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER__WEIGHT_VALUE:
-				setWeightValue(WEIGHT_VALUE_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER__SHOT:
-				setShot(SHOT_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER__BIRTHDATE:
-				setBirthdate(BIRTHDATE_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.PLAYER__BIRTHPLACE:
-				return BIRTHPLACE_EDEFAULT == null ? birthplace != null : !BIRTHPLACE_EDEFAULT.equals(birthplace);
-			case HockeyleaguePackage.PLAYER__NUMBER:
-				return number != NUMBER_EDEFAULT;
-			case HockeyleaguePackage.PLAYER__HEIGHT_MESUREMENT:
-				return heightMesurement != HEIGHT_MESUREMENT_EDEFAULT;
-			case HockeyleaguePackage.PLAYER__HEIGHT_VALUE:
-				return heightValue != HEIGHT_VALUE_EDEFAULT;
-			case HockeyleaguePackage.PLAYER__WEIGHT_MESUREMENT:
-				return weightMesurement != WEIGHT_MESUREMENT_EDEFAULT;
-			case HockeyleaguePackage.PLAYER__WEIGHT_VALUE:
-				return weightValue != WEIGHT_VALUE_EDEFAULT;
-			case HockeyleaguePackage.PLAYER__SHOT:
-				return shot != SHOT_EDEFAULT;
-			case HockeyleaguePackage.PLAYER__BIRTHDATE:
-				return BIRTHDATE_EDEFAULT == null ? birthdate != null : !BIRTHDATE_EDEFAULT.equals(birthdate);
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (birthplace: "); //$NON-NLS-1$
-		result.append(birthplace);
-		result.append(", number: "); //$NON-NLS-1$
-		result.append(number);
-		result.append(", heightMesurement: "); //$NON-NLS-1$
-		result.append(heightMesurement);
-		result.append(", heightValue: "); //$NON-NLS-1$
-		result.append(heightValue);
-		result.append(", weightMesurement: "); //$NON-NLS-1$
-		result.append(weightMesurement);
-		result.append(", weightValue: "); //$NON-NLS-1$
-		result.append(weightValue);
-		result.append(", shot: "); //$NON-NLS-1$
-		result.append(shot);
-		result.append(", birthdate: "); //$NON-NLS-1$
-		result.append(birthdate);
-		result.append(')');
-		return result.toString();
-	}
-
-} //PlayerImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/PlayerStatsImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/PlayerStatsImpl.java
deleted file mode 100644
index a9c11a8..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/PlayerStatsImpl.java
+++ /dev/null
@@ -1,821 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Player Stats</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getYear <em>Year</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getTeam <em>Team</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getGamesPlayedIn <em>Games Played In</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getGoals <em>Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getAssists <em>Assists</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getPoints <em>Points</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getPlusMinus <em>Plus Minus</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getPenaltyMinutes <em>Penalty Minutes</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getPowerPlayGoals <em>Power Play Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getShortHandedGoals <em>Short Handed Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getGameWinningGoals <em>Game Winning Goals</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getShots <em>Shots</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.PlayerStatsImpl#getShotPercentage <em>Shot Percentage</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PlayerStatsImpl extends EObjectImpl implements PlayerStats {
-	/**
-	 * The default value of the '{@link #getYear() <em>Year</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getYear()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String YEAR_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getYear() <em>Year</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getYear()
-	 * @generated
-	 * @ordered
-	 */
-	protected String year = YEAR_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getTeam() <em>Team</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getTeam()
-	 * @generated
-	 * @ordered
-	 */
-	protected Team team = null;
-
-	/**
-	 * The default value of the '{@link #getGamesPlayedIn() <em>Games Played In</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGamesPlayedIn()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int GAMES_PLAYED_IN_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getGamesPlayedIn() <em>Games Played In</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGamesPlayedIn()
-	 * @generated
-	 * @ordered
-	 */
-	protected int gamesPlayedIn = GAMES_PLAYED_IN_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getGoals() <em>Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int GOALS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getGoals() <em>Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected int goals = GOALS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getAssists() <em>Assists</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getAssists()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int ASSISTS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getAssists() <em>Assists</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getAssists()
-	 * @generated
-	 * @ordered
-	 */
-	protected int assists = ASSISTS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getPoints() <em>Points</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPoints()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int POINTS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getPoints() <em>Points</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPoints()
-	 * @generated
-	 * @ordered
-	 */
-	protected int points = POINTS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getPlusMinus() <em>Plus Minus</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPlusMinus()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int PLUS_MINUS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getPlusMinus() <em>Plus Minus</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPlusMinus()
-	 * @generated
-	 * @ordered
-	 */
-	protected int plusMinus = PLUS_MINUS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getPenaltyMinutes() <em>Penalty Minutes</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPenaltyMinutes()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int PENALTY_MINUTES_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getPenaltyMinutes() <em>Penalty Minutes</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPenaltyMinutes()
-	 * @generated
-	 * @ordered
-	 */
-	protected int penaltyMinutes = PENALTY_MINUTES_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getPowerPlayGoals() <em>Power Play Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPowerPlayGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int POWER_PLAY_GOALS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getPowerPlayGoals() <em>Power Play Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPowerPlayGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected int powerPlayGoals = POWER_PLAY_GOALS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getShortHandedGoals() <em>Short Handed Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShortHandedGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int SHORT_HANDED_GOALS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getShortHandedGoals() <em>Short Handed Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShortHandedGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected int shortHandedGoals = SHORT_HANDED_GOALS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getGameWinningGoals() <em>Game Winning Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGameWinningGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int GAME_WINNING_GOALS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getGameWinningGoals() <em>Game Winning Goals</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGameWinningGoals()
-	 * @generated
-	 * @ordered
-	 */
-	protected int gameWinningGoals = GAME_WINNING_GOALS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getShots() <em>Shots</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShots()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int SHOTS_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getShots() <em>Shots</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShots()
-	 * @generated
-	 * @ordered
-	 */
-	protected int shots = SHOTS_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getShotPercentage() <em>Shot Percentage</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShotPercentage()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final float SHOT_PERCENTAGE_EDEFAULT = 0.0F;
-
-	/**
-	 * The cached value of the '{@link #getShotPercentage() <em>Shot Percentage</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getShotPercentage()
-	 * @generated
-	 * @ordered
-	 */
-	protected float shotPercentage = SHOT_PERCENTAGE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PlayerStatsImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.PLAYER_STATS;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getYear() {
-		return year;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setYear(String newYear) {
-		String oldYear = year;
-		year = newYear;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__YEAR, oldYear, year));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Team getTeam() {
-		if (team != null && team.eIsProxy()) {
-			InternalEObject oldTeam = (InternalEObject)team;
-			team = (Team)eResolveProxy(oldTeam);
-			if (team != oldTeam) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, HockeyleaguePackage.PLAYER_STATS__TEAM, oldTeam, team));
-			}
-		}
-		return team;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Team basicGetTeam() {
-		return team;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setTeam(Team newTeam) {
-		Team oldTeam = team;
-		team = newTeam;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__TEAM, oldTeam, team));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getGamesPlayedIn() {
-		return gamesPlayedIn;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setGamesPlayedIn(int newGamesPlayedIn) {
-		int oldGamesPlayedIn = gamesPlayedIn;
-		gamesPlayedIn = newGamesPlayedIn;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__GAMES_PLAYED_IN, oldGamesPlayedIn, gamesPlayedIn));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getGoals() {
-		return goals;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setGoals(int newGoals) {
-		int oldGoals = goals;
-		goals = newGoals;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__GOALS, oldGoals, goals));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getAssists() {
-		return assists;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setAssists(int newAssists) {
-		int oldAssists = assists;
-		assists = newAssists;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__ASSISTS, oldAssists, assists));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getPoints() {
-		return points;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPoints(int newPoints) {
-		int oldPoints = points;
-		points = newPoints;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__POINTS, oldPoints, points));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getPlusMinus() {
-		return plusMinus;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPlusMinus(int newPlusMinus) {
-		int oldPlusMinus = plusMinus;
-		plusMinus = newPlusMinus;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__PLUS_MINUS, oldPlusMinus, plusMinus));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getPenaltyMinutes() {
-		return penaltyMinutes;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPenaltyMinutes(int newPenaltyMinutes) {
-		int oldPenaltyMinutes = penaltyMinutes;
-		penaltyMinutes = newPenaltyMinutes;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__PENALTY_MINUTES, oldPenaltyMinutes, penaltyMinutes));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getPowerPlayGoals() {
-		return powerPlayGoals;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPowerPlayGoals(int newPowerPlayGoals) {
-		int oldPowerPlayGoals = powerPlayGoals;
-		powerPlayGoals = newPowerPlayGoals;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__POWER_PLAY_GOALS, oldPowerPlayGoals, powerPlayGoals));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getShortHandedGoals() {
-		return shortHandedGoals;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setShortHandedGoals(int newShortHandedGoals) {
-		int oldShortHandedGoals = shortHandedGoals;
-		shortHandedGoals = newShortHandedGoals;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__SHORT_HANDED_GOALS, oldShortHandedGoals, shortHandedGoals));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getGameWinningGoals() {
-		return gameWinningGoals;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setGameWinningGoals(int newGameWinningGoals) {
-		int oldGameWinningGoals = gameWinningGoals;
-		gameWinningGoals = newGameWinningGoals;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__GAME_WINNING_GOALS, oldGameWinningGoals, gameWinningGoals));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getShots() {
-		return shots;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setShots(int newShots) {
-		int oldShots = shots;
-		shots = newShots;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__SHOTS, oldShots, shots));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public float getShotPercentage() {
-		return shotPercentage;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setShotPercentage(float newShotPercentage) {
-		float oldShotPercentage = shotPercentage;
-		shotPercentage = newShotPercentage;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.PLAYER_STATS__SHOT_PERCENTAGE, oldShotPercentage, shotPercentage));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.PLAYER_STATS__YEAR:
-				return getYear();
-			case HockeyleaguePackage.PLAYER_STATS__TEAM:
-				if (resolve) return getTeam();
-				return basicGetTeam();
-			case HockeyleaguePackage.PLAYER_STATS__GAMES_PLAYED_IN:
-				return new Integer(getGamesPlayedIn());
-			case HockeyleaguePackage.PLAYER_STATS__GOALS:
-				return new Integer(getGoals());
-			case HockeyleaguePackage.PLAYER_STATS__ASSISTS:
-				return new Integer(getAssists());
-			case HockeyleaguePackage.PLAYER_STATS__POINTS:
-				return new Integer(getPoints());
-			case HockeyleaguePackage.PLAYER_STATS__PLUS_MINUS:
-				return new Integer(getPlusMinus());
-			case HockeyleaguePackage.PLAYER_STATS__PENALTY_MINUTES:
-				return new Integer(getPenaltyMinutes());
-			case HockeyleaguePackage.PLAYER_STATS__POWER_PLAY_GOALS:
-				return new Integer(getPowerPlayGoals());
-			case HockeyleaguePackage.PLAYER_STATS__SHORT_HANDED_GOALS:
-				return new Integer(getShortHandedGoals());
-			case HockeyleaguePackage.PLAYER_STATS__GAME_WINNING_GOALS:
-				return new Integer(getGameWinningGoals());
-			case HockeyleaguePackage.PLAYER_STATS__SHOTS:
-				return new Integer(getShots());
-			case HockeyleaguePackage.PLAYER_STATS__SHOT_PERCENTAGE:
-				return new Float(getShotPercentage());
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.PLAYER_STATS__YEAR:
-				setYear((String)newValue);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__TEAM:
-				setTeam((Team)newValue);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__GAMES_PLAYED_IN:
-				setGamesPlayedIn(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__GOALS:
-				setGoals(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__ASSISTS:
-				setAssists(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__POINTS:
-				setPoints(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__PLUS_MINUS:
-				setPlusMinus(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__PENALTY_MINUTES:
-				setPenaltyMinutes(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__POWER_PLAY_GOALS:
-				setPowerPlayGoals(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__SHORT_HANDED_GOALS:
-				setShortHandedGoals(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__GAME_WINNING_GOALS:
-				setGameWinningGoals(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__SHOTS:
-				setShots(((Integer)newValue).intValue());
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__SHOT_PERCENTAGE:
-				setShotPercentage(((Float)newValue).floatValue());
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.PLAYER_STATS__YEAR:
-				setYear(YEAR_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__TEAM:
-				setTeam((Team)null);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__GAMES_PLAYED_IN:
-				setGamesPlayedIn(GAMES_PLAYED_IN_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__GOALS:
-				setGoals(GOALS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__ASSISTS:
-				setAssists(ASSISTS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__POINTS:
-				setPoints(POINTS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__PLUS_MINUS:
-				setPlusMinus(PLUS_MINUS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__PENALTY_MINUTES:
-				setPenaltyMinutes(PENALTY_MINUTES_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__POWER_PLAY_GOALS:
-				setPowerPlayGoals(POWER_PLAY_GOALS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__SHORT_HANDED_GOALS:
-				setShortHandedGoals(SHORT_HANDED_GOALS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__GAME_WINNING_GOALS:
-				setGameWinningGoals(GAME_WINNING_GOALS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__SHOTS:
-				setShots(SHOTS_EDEFAULT);
-				return;
-			case HockeyleaguePackage.PLAYER_STATS__SHOT_PERCENTAGE:
-				setShotPercentage(SHOT_PERCENTAGE_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.PLAYER_STATS__YEAR:
-				return YEAR_EDEFAULT == null ? year != null : !YEAR_EDEFAULT.equals(year);
-			case HockeyleaguePackage.PLAYER_STATS__TEAM:
-				return team != null;
-			case HockeyleaguePackage.PLAYER_STATS__GAMES_PLAYED_IN:
-				return gamesPlayedIn != GAMES_PLAYED_IN_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__GOALS:
-				return goals != GOALS_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__ASSISTS:
-				return assists != ASSISTS_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__POINTS:
-				return points != POINTS_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__PLUS_MINUS:
-				return plusMinus != PLUS_MINUS_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__PENALTY_MINUTES:
-				return penaltyMinutes != PENALTY_MINUTES_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__POWER_PLAY_GOALS:
-				return powerPlayGoals != POWER_PLAY_GOALS_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__SHORT_HANDED_GOALS:
-				return shortHandedGoals != SHORT_HANDED_GOALS_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__GAME_WINNING_GOALS:
-				return gameWinningGoals != GAME_WINNING_GOALS_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__SHOTS:
-				return shots != SHOTS_EDEFAULT;
-			case HockeyleaguePackage.PLAYER_STATS__SHOT_PERCENTAGE:
-				return shotPercentage != SHOT_PERCENTAGE_EDEFAULT;
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (year: "); //$NON-NLS-1$
-		result.append(year);
-		result.append(", gamesPlayedIn: "); //$NON-NLS-1$
-		result.append(gamesPlayedIn);
-		result.append(", goals: "); //$NON-NLS-1$
-		result.append(goals);
-		result.append(", assists: "); //$NON-NLS-1$
-		result.append(assists);
-		result.append(", points: "); //$NON-NLS-1$
-		result.append(points);
-		result.append(", plusMinus: "); //$NON-NLS-1$
-		result.append(plusMinus);
-		result.append(", penaltyMinutes: "); //$NON-NLS-1$
-		result.append(penaltyMinutes);
-		result.append(", powerPlayGoals: "); //$NON-NLS-1$
-		result.append(powerPlayGoals);
-		result.append(", shortHandedGoals: "); //$NON-NLS-1$
-		result.append(shortHandedGoals);
-		result.append(", gameWinningGoals: "); //$NON-NLS-1$
-		result.append(gameWinningGoals);
-		result.append(", shots: "); //$NON-NLS-1$
-		result.append(shots);
-		result.append(", shotPercentage: "); //$NON-NLS-1$
-		result.append(shotPercentage);
-		result.append(')');
-		return result.toString();
-	}
-
-} //PlayerStatsImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/TeamImpl.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/TeamImpl.java
deleted file mode 100644
index eef64da..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/impl/TeamImpl.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl;
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Team</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.TeamImpl#getForwards <em>Forwards</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.TeamImpl#getDefencemen <em>Defencemen</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.TeamImpl#getGoalies <em>Goalies</em>}</li>
- *   <li>{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.impl.TeamImpl#getArena <em>Arena</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TeamImpl extends HockeyleagueObjectImpl implements Team {
-	/**
-	 * The cached value of the '{@link #getForwards() <em>Forwards</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getForwards()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList forwards = null;
-
-	/**
-	 * The cached value of the '{@link #getDefencemen() <em>Defencemen</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDefencemen()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList defencemen = null;
-
-	/**
-	 * The cached value of the '{@link #getGoalies() <em>Goalies</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGoalies()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList goalies = null;
-
-	/**
-	 * The cached value of the '{@link #getArena() <em>Arena</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getArena()
-	 * @generated
-	 * @ordered
-	 */
-	protected Arena arena = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected TeamImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return HockeyleaguePackage.Literals.TEAM;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getForwards() {
-		if (forwards == null) {
-			forwards = new EObjectContainmentEList(Forward.class, this, HockeyleaguePackage.TEAM__FORWARDS);
-		}
-		return forwards;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getDefencemen() {
-		if (defencemen == null) {
-			defencemen = new EObjectContainmentEList(Defence.class, this, HockeyleaguePackage.TEAM__DEFENCEMEN);
-		}
-		return defencemen;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getGoalies() {
-		if (goalies == null) {
-			goalies = new EObjectContainmentEList(Goalie.class, this, HockeyleaguePackage.TEAM__GOALIES);
-		}
-		return goalies;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Arena getArena() {
-		return arena;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetArena(Arena newArena, NotificationChain msgs) {
-		Arena oldArena = arena;
-		arena = newArena;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.TEAM__ARENA, oldArena, newArena);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setArena(Arena newArena) {
-		if (newArena != arena) {
-			NotificationChain msgs = null;
-			if (arena != null)
-				msgs = ((InternalEObject)arena).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HockeyleaguePackage.TEAM__ARENA, null, msgs);
-			if (newArena != null)
-				msgs = ((InternalEObject)newArena).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HockeyleaguePackage.TEAM__ARENA, null, msgs);
-			msgs = basicSetArena(newArena, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, HockeyleaguePackage.TEAM__ARENA, newArena, newArena));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case HockeyleaguePackage.TEAM__FORWARDS:
-				return ((InternalEList)getForwards()).basicRemove(otherEnd, msgs);
-			case HockeyleaguePackage.TEAM__DEFENCEMEN:
-				return ((InternalEList)getDefencemen()).basicRemove(otherEnd, msgs);
-			case HockeyleaguePackage.TEAM__GOALIES:
-				return ((InternalEList)getGoalies()).basicRemove(otherEnd, msgs);
-			case HockeyleaguePackage.TEAM__ARENA:
-				return basicSetArena(null, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case HockeyleaguePackage.TEAM__FORWARDS:
-				return getForwards();
-			case HockeyleaguePackage.TEAM__DEFENCEMEN:
-				return getDefencemen();
-			case HockeyleaguePackage.TEAM__GOALIES:
-				return getGoalies();
-			case HockeyleaguePackage.TEAM__ARENA:
-				return getArena();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case HockeyleaguePackage.TEAM__FORWARDS:
-				getForwards().clear();
-				getForwards().addAll((Collection)newValue);
-				return;
-			case HockeyleaguePackage.TEAM__DEFENCEMEN:
-				getDefencemen().clear();
-				getDefencemen().addAll((Collection)newValue);
-				return;
-			case HockeyleaguePackage.TEAM__GOALIES:
-				getGoalies().clear();
-				getGoalies().addAll((Collection)newValue);
-				return;
-			case HockeyleaguePackage.TEAM__ARENA:
-				setArena((Arena)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.TEAM__FORWARDS:
-				getForwards().clear();
-				return;
-			case HockeyleaguePackage.TEAM__DEFENCEMEN:
-				getDefencemen().clear();
-				return;
-			case HockeyleaguePackage.TEAM__GOALIES:
-				getGoalies().clear();
-				return;
-			case HockeyleaguePackage.TEAM__ARENA:
-				setArena((Arena)null);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case HockeyleaguePackage.TEAM__FORWARDS:
-				return forwards != null && !forwards.isEmpty();
-			case HockeyleaguePackage.TEAM__DEFENCEMEN:
-				return defencemen != null && !defencemen.isEmpty();
-			case HockeyleaguePackage.TEAM__GOALIES:
-				return goalies != null && !goalies.isEmpty();
-			case HockeyleaguePackage.TEAM__ARENA:
-				return arena != null;
-		}
-		return super.eIsSet(featureID);
-	}
-
-} //TeamImpl
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/ArenaItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/ArenaItemProvider.java
deleted file mode 100644
index 6d01d59..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/ArenaItemProvider.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class ArenaItemProvider
-	extends HockeyleagueObjectItemProvider
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ArenaItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addAddressPropertyDescriptor(object);
-			addCapacityPropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Address feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addAddressPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Arena_address_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Arena_address_feature", "_UI_Arena_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.ARENA__ADDRESS,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Capacity feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addCapacityPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Arena_capacity_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Arena_capacity_feature", "_UI_Arena_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.ARENA__CAPACITY,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns Arena.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getImage(Object object) {
-		return getResourceLocator().getImage("full/obj16/Arena"); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((Arena)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_Arena_type") : //$NON-NLS-1$
-			getString("_UI_Arena_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(Arena.class)) {
-			case HockeyleaguePackage.ARENA__ADDRESS:
-			case HockeyleaguePackage.ARENA__CAPACITY:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/DefenceItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/DefenceItemProvider.java
deleted file mode 100644
index 0a938e6..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/DefenceItemProvider.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class DefenceItemProvider
-	extends PlayerItemProvider
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public DefenceItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addPositionPropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Position feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addPositionPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Defence_position_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Defence_position_feature", "_UI_Defence_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.DEFENCE__POSITION,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
-	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
-	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Collection getChildrenFeatures(Object object) {
-		if (childrenFeatures == null) {
-			super.getChildrenFeatures(object);
-			childrenFeatures.add(HockeyleaguePackage.Literals.DEFENCE__PLAYER_STATS);
-		}
-		return childrenFeatures;
-	}
-
-	/**
-	 * This returns Defence.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getImage(Object object) {
-		return getResourceLocator().getImage("full/obj16/Defence"); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((Defence)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_Defence_type") : //$NON-NLS-1$
-			getString("_UI_Defence_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(Defence.class)) {
-			case HockeyleaguePackage.DEFENCE__POSITION:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-			case HockeyleaguePackage.DEFENCE__PLAYER_STATS:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-
-		newChildDescriptors.add
-			(createChildParameter
-				(HockeyleaguePackage.Literals.DEFENCE__PLAYER_STATS,
-				 HockeyleagueFactory.eINSTANCE.createPlayerStats()));
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/ForwardItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/ForwardItemProvider.java
deleted file mode 100644
index e31339a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/ForwardItemProvider.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class ForwardItemProvider
-	extends PlayerItemProvider
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ForwardItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addPositionPropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Position feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addPositionPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Forward_position_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Forward_position_feature", "_UI_Forward_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.FORWARD__POSITION,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
-	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
-	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Collection getChildrenFeatures(Object object) {
-		if (childrenFeatures == null) {
-			super.getChildrenFeatures(object);
-			childrenFeatures.add(HockeyleaguePackage.Literals.FORWARD__PLAYER_STATS);
-		}
-		return childrenFeatures;
-	}
-
-	/**
-	 * This returns Forward.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getImage(Object object) {
-		return getResourceLocator().getImage("full/obj16/Forward"); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((Forward)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_Forward_type") : //$NON-NLS-1$
-			getString("_UI_Forward_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(Forward.class)) {
-			case HockeyleaguePackage.FORWARD__POSITION:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-			case HockeyleaguePackage.FORWARD__PLAYER_STATS:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-
-		newChildDescriptors.add
-			(createChildParameter
-				(HockeyleaguePackage.Literals.FORWARD__PLAYER_STATS,
-				 HockeyleagueFactory.eINSTANCE.createPlayerStats()));
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/GoalieItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/GoalieItemProvider.java
deleted file mode 100644
index c28bbcb..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/GoalieItemProvider.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class GoalieItemProvider
-	extends PlayerItemProvider
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public GoalieItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
-	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
-	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Collection getChildrenFeatures(Object object) {
-		if (childrenFeatures == null) {
-			super.getChildrenFeatures(object);
-			childrenFeatures.add(HockeyleaguePackage.Literals.GOALIE__GOALIE_STATS);
-		}
-		return childrenFeatures;
-	}
-
-	/**
-	 * This returns Goalie.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getImage(Object object) {
-		return getResourceLocator().getImage("full/obj16/Goalie"); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((Goalie)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_Goalie_type") : //$NON-NLS-1$
-			getString("_UI_Goalie_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(Goalie.class)) {
-			case HockeyleaguePackage.GOALIE__GOALIE_STATS:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-
-		newChildDescriptors.add
-			(createChildParameter
-				(HockeyleaguePackage.Literals.GOALIE__GOALIE_STATS,
-				 HockeyleagueFactory.eINSTANCE.createGoalieStats()));
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/GoalieStatsItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/GoalieStatsItemProvider.java
deleted file mode 100644
index 448a5f2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/GoalieStatsItemProvider.java
+++ /dev/null
@@ -1,486 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class GoalieStatsItemProvider
-	extends ItemProviderAdapter
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public GoalieStatsItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addYearPropertyDescriptor(object);
-			addTeamPropertyDescriptor(object);
-			addGamesPlayedInPropertyDescriptor(object);
-			addMinutesPlayedInPropertyDescriptor(object);
-			addGoalsAgainstAveragePropertyDescriptor(object);
-			addWinsPropertyDescriptor(object);
-			addLossesPropertyDescriptor(object);
-			addTiesPropertyDescriptor(object);
-			addEmptyNetGoalsPropertyDescriptor(object);
-			addShutoutsPropertyDescriptor(object);
-			addGoalsAgainstPropertyDescriptor(object);
-			addSavesPropertyDescriptor(object);
-			addPenaltyMinutesPropertyDescriptor(object);
-			addGoalsPropertyDescriptor(object);
-			addAssistsPropertyDescriptor(object);
-			addPointsPropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Year feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addYearPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_year_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_year_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__YEAR,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Team feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addTeamPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_team_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_team_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__TEAM,
-				 true,
-				 null,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Games Played In feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addGamesPlayedInPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_gamesPlayedIn_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_gamesPlayedIn_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__GAMES_PLAYED_IN,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Minutes Played In feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addMinutesPlayedInPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_minutesPlayedIn_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_minutesPlayedIn_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__MINUTES_PLAYED_IN,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Goals Against Average feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addGoalsAgainstAveragePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_goalsAgainstAverage_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_goalsAgainstAverage_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__GOALS_AGAINST_AVERAGE,
-				 true,
-				 ItemPropertyDescriptor.REAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Wins feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addWinsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_wins_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_wins_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__WINS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Losses feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addLossesPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_losses_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_losses_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__LOSSES,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Ties feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addTiesPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_ties_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_ties_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__TIES,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Empty Net Goals feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addEmptyNetGoalsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_emptyNetGoals_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_emptyNetGoals_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__EMPTY_NET_GOALS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Shutouts feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addShutoutsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_shutouts_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_shutouts_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__SHUTOUTS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Goals Against feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addGoalsAgainstPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_goalsAgainst_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_goalsAgainst_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__GOALS_AGAINST,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Saves feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addSavesPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_saves_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_saves_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__SAVES,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Penalty Minutes feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addPenaltyMinutesPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_penaltyMinutes_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_penaltyMinutes_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__PENALTY_MINUTES,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Goals feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addGoalsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_goals_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_goals_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__GOALS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Assists feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addAssistsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_assists_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_assists_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__ASSISTS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Points feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addPointsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_GoalieStats_points_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_GoalieStats_points_feature", "_UI_GoalieStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.GOALIE_STATS__POINTS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns GoalieStats.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getImage(Object object) {
-		return getResourceLocator().getImage("full/obj16/GoalieStats"); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((GoalieStats)object).getYear();
-		return label == null || label.length() == 0 ?
-			getString("_UI_GoalieStats_type") : //$NON-NLS-1$
-			getString("_UI_GoalieStats_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(GoalieStats.class)) {
-			case HockeyleaguePackage.GOALIE_STATS__YEAR:
-			case HockeyleaguePackage.GOALIE_STATS__GAMES_PLAYED_IN:
-			case HockeyleaguePackage.GOALIE_STATS__MINUTES_PLAYED_IN:
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST_AVERAGE:
-			case HockeyleaguePackage.GOALIE_STATS__WINS:
-			case HockeyleaguePackage.GOALIE_STATS__LOSSES:
-			case HockeyleaguePackage.GOALIE_STATS__TIES:
-			case HockeyleaguePackage.GOALIE_STATS__EMPTY_NET_GOALS:
-			case HockeyleaguePackage.GOALIE_STATS__SHUTOUTS:
-			case HockeyleaguePackage.GOALIE_STATS__GOALS_AGAINST:
-			case HockeyleaguePackage.GOALIE_STATS__SAVES:
-			case HockeyleaguePackage.GOALIE_STATS__PENALTY_MINUTES:
-			case HockeyleaguePackage.GOALIE_STATS__GOALS:
-			case HockeyleaguePackage.GOALIE_STATS__ASSISTS:
-			case HockeyleaguePackage.GOALIE_STATS__POINTS:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/HockeyleagueItemProviderAdapterFactory.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/HockeyleagueItemProviderAdapterFactory.java
deleted file mode 100644
index 167654a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/HockeyleagueItemProviderAdapterFactory.java
+++ /dev/null
@@ -1,364 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-
-import org.eclipse.emf.edit.provider.ChangeNotifier;
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.IChangeNotifier;
-import org.eclipse.emf.edit.provider.IDisposable;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.INotifyChangedListener;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.util.HockeyleagueAdapterFactory;
-
-/**
- * This is the factory that is used to provide the interfaces needed to support Viewers.
- * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
- * The adapters also support Eclipse property sheets.
- * Note that most of the adapters are shared among multiple instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class HockeyleagueItemProviderAdapterFactory extends HockeyleagueAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
-	/**
-	 * This keeps track of the root adapter factory that delegates to this adapter factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ComposedAdapterFactory parentAdapterFactory;
-
-	/**
-	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected IChangeNotifier changeNotifier = new ChangeNotifier();
-
-	/**
-	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected Collection supportedTypes = new ArrayList();
-
-	/**
-	 * This constructs an instance.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HockeyleagueItemProviderAdapterFactory() {
-		supportedTypes.add(IEditingDomainItemProvider.class);
-		supportedTypes.add(IStructuredItemContentProvider.class);
-		supportedTypes.add(ITreeItemContentProvider.class);
-		supportedTypes.add(IItemLabelProvider.class);
-		supportedTypes.add(IItemPropertySource.class);		
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ArenaItemProvider arenaItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Adapter createArenaAdapter() {
-		if (arenaItemProvider == null) {
-			arenaItemProvider = new ArenaItemProvider(this);
-		}
-
-		return arenaItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected DefenceItemProvider defenceItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Adapter createDefenceAdapter() {
-		if (defenceItemProvider == null) {
-			defenceItemProvider = new DefenceItemProvider(this);
-		}
-
-		return defenceItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ForwardItemProvider forwardItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Adapter createForwardAdapter() {
-		if (forwardItemProvider == null) {
-			forwardItemProvider = new ForwardItemProvider(this);
-		}
-
-		return forwardItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected GoalieItemProvider goalieItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Adapter createGoalieAdapter() {
-		if (goalieItemProvider == null) {
-			goalieItemProvider = new GoalieItemProvider(this);
-		}
-
-		return goalieItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected GoalieStatsItemProvider goalieStatsItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Adapter createGoalieStatsAdapter() {
-		if (goalieStatsItemProvider == null) {
-			goalieStatsItemProvider = new GoalieStatsItemProvider(this);
-		}
-
-		return goalieStatsItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected LeagueItemProvider leagueItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Adapter createLeagueAdapter() {
-		if (leagueItemProvider == null) {
-			leagueItemProvider = new LeagueItemProvider(this);
-		}
-
-		return leagueItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PlayerStatsItemProvider playerStatsItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Adapter createPlayerStatsAdapter() {
-		if (playerStatsItemProvider == null) {
-			playerStatsItemProvider = new PlayerStatsItemProvider(this);
-		}
-
-		return playerStatsItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected TeamItemProvider teamItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Adapter createTeamAdapter() {
-		if (teamItemProvider == null) {
-			teamItemProvider = new TeamItemProvider(this);
-		}
-
-		return teamItemProvider;
-	}
-
-	/**
-	 * This returns the root adapter factory that contains this factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ComposeableAdapterFactory getRootAdapterFactory() {
-		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
-	}
-
-	/**
-	 * This sets the composed adapter factory that contains this factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
-		this.parentAdapterFactory = parentAdapterFactory;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isFactoryForType(Object type) {
-		return supportedTypes.contains(type) || super.isFactoryForType(type);
-	}
-
-	/**
-	 * This implementation substitutes the factory itself as the key for the adapter.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Adapter adapt(Notifier notifier, Object type) {
-		return super.adapt(notifier, this);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object adapt(Object object, Object type) {
-		if (isFactoryForType(type)) {
-			Object adapter = super.adapt(object, type);
-			if (!(type instanceof Class) || (((Class)type).isInstance(adapter))) {
-				return adapter;
-			}
-		}
-
-		return null;
-	}
-
-	/**
-	 * This adds a listener.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void addListener(INotifyChangedListener notifyChangedListener) {
-		changeNotifier.addListener(notifyChangedListener);
-	}
-
-	/**
-	 * This removes a listener.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void removeListener(INotifyChangedListener notifyChangedListener) {
-		changeNotifier.removeListener(notifyChangedListener);
-	}
-
-	/**
-	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void fireNotifyChanged(Notification notification) {
-		changeNotifier.fireNotifyChanged(notification);
-
-		if (parentAdapterFactory != null) {
-			parentAdapterFactory.fireNotifyChanged(notification);
-		}
-	}
-
-	/**
-	 * This disposes all of the item providers created by this factory. 
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void dispose() {
-		if (arenaItemProvider != null) arenaItemProvider.dispose();
-		if (defenceItemProvider != null) defenceItemProvider.dispose();
-		if (forwardItemProvider != null) forwardItemProvider.dispose();
-		if (goalieItemProvider != null) goalieItemProvider.dispose();
-		if (goalieStatsItemProvider != null) goalieStatsItemProvider.dispose();
-		if (leagueItemProvider != null) leagueItemProvider.dispose();
-		if (playerStatsItemProvider != null) playerStatsItemProvider.dispose();
-		if (teamItemProvider != null) teamItemProvider.dispose();
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/HockeyleagueObjectItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/HockeyleagueObjectItemProvider.java
deleted file mode 100644
index d4a63c4..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/HockeyleagueObjectItemProvider.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class HockeyleagueObjectItemProvider
-	extends ItemProviderAdapter
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HockeyleagueObjectItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addNamePropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Name feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addNamePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_HockeyleagueObject_name_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_HockeyleagueObject_name_feature", "_UI_HockeyleagueObject_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.HOCKEYLEAGUE_OBJECT__NAME,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((HockeyleagueObject)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_HockeyleagueObject_type") : //$NON-NLS-1$
-			getString("_UI_HockeyleagueObject_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(HockeyleagueObject.class)) {
-			case HockeyleaguePackage.HOCKEYLEAGUE_OBJECT__NAME:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/LeagueItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/LeagueItemProvider.java
deleted file mode 100644
index 6594ece..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/LeagueItemProvider.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class LeagueItemProvider
-	extends HockeyleagueObjectItemProvider
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public LeagueItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addHeadofficePropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Headoffice feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addHeadofficePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_League_headoffice_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_League_headoffice_feature", "_UI_League_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.LEAGUE__HEADOFFICE,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
-	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
-	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Collection getChildrenFeatures(Object object) {
-		if (childrenFeatures == null) {
-			super.getChildrenFeatures(object);
-			childrenFeatures.add(HockeyleaguePackage.Literals.LEAGUE__TEAMS);
-		}
-		return childrenFeatures;
-	}
-
-	/**
-	 * This returns League.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getImage(Object object) {
-		return getResourceLocator().getImage("full/obj16/League"); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((League)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_League_type") : //$NON-NLS-1$
-			getString("_UI_League_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(League.class)) {
-			case HockeyleaguePackage.LEAGUE__HEADOFFICE:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-			case HockeyleaguePackage.LEAGUE__TEAMS:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-
-		newChildDescriptors.add
-			(createChildParameter
-				(HockeyleaguePackage.Literals.LEAGUE__TEAMS,
-				 HockeyleagueFactory.eINSTANCE.createTeam()));
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/PlayerItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/PlayerItemProvider.java
deleted file mode 100644
index 0235a1a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/PlayerItemProvider.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class PlayerItemProvider
-	extends HockeyleagueObjectItemProvider
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PlayerItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addBirthplacePropertyDescriptor(object);
-			addNumberPropertyDescriptor(object);
-			addHeightMesurementPropertyDescriptor(object);
-			addHeightValuePropertyDescriptor(object);
-			addWeightMesurementPropertyDescriptor(object);
-			addWeightValuePropertyDescriptor(object);
-			addShotPropertyDescriptor(object);
-			addBirthdatePropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Birthplace feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addBirthplacePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Player_birthplace_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Player_birthplace_feature", "_UI_Player_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER__BIRTHPLACE,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Number feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addNumberPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Player_number_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Player_number_feature", "_UI_Player_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER__NUMBER,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Height Mesurement feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addHeightMesurementPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Player_heightMesurement_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Player_heightMesurement_feature", "_UI_Player_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER__HEIGHT_MESUREMENT,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Height Value feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addHeightValuePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Player_heightValue_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Player_heightValue_feature", "_UI_Player_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER__HEIGHT_VALUE,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Weight Mesurement feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addWeightMesurementPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Player_weightMesurement_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Player_weightMesurement_feature", "_UI_Player_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER__WEIGHT_MESUREMENT,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Weight Value feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addWeightValuePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Player_weightValue_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Player_weightValue_feature", "_UI_Player_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER__WEIGHT_VALUE,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Shot feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addShotPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Player_shot_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Player_shot_feature", "_UI_Player_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER__SHOT,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Birthdate feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addBirthdatePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Player_birthdate_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Player_birthdate_feature", "_UI_Player_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER__BIRTHDATE,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((Player)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_Player_type") : //$NON-NLS-1$
-			getString("_UI_Player_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(Player.class)) {
-			case HockeyleaguePackage.PLAYER__BIRTHPLACE:
-			case HockeyleaguePackage.PLAYER__NUMBER:
-			case HockeyleaguePackage.PLAYER__HEIGHT_MESUREMENT:
-			case HockeyleaguePackage.PLAYER__HEIGHT_VALUE:
-			case HockeyleaguePackage.PLAYER__WEIGHT_MESUREMENT:
-			case HockeyleaguePackage.PLAYER__WEIGHT_VALUE:
-			case HockeyleaguePackage.PLAYER__SHOT:
-			case HockeyleaguePackage.PLAYER__BIRTHDATE:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/PlayerStatsItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/PlayerStatsItemProvider.java
deleted file mode 100644
index 2072d50..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/PlayerStatsItemProvider.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class PlayerStatsItemProvider
-	extends ItemProviderAdapter
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public PlayerStatsItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addYearPropertyDescriptor(object);
-			addTeamPropertyDescriptor(object);
-			addGamesPlayedInPropertyDescriptor(object);
-			addGoalsPropertyDescriptor(object);
-			addAssistsPropertyDescriptor(object);
-			addPointsPropertyDescriptor(object);
-			addPlusMinusPropertyDescriptor(object);
-			addPenaltyMinutesPropertyDescriptor(object);
-			addPowerPlayGoalsPropertyDescriptor(object);
-			addShortHandedGoalsPropertyDescriptor(object);
-			addGameWinningGoalsPropertyDescriptor(object);
-			addShotsPropertyDescriptor(object);
-			addShotPercentagePropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Year feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addYearPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_year_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_year_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__YEAR,
-				 true,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Team feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addTeamPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_team_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_team_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__TEAM,
-				 true,
-				 null,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Games Played In feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addGamesPlayedInPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_gamesPlayedIn_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_gamesPlayedIn_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__GAMES_PLAYED_IN,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Goals feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addGoalsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_goals_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_goals_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__GOALS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Assists feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addAssistsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_assists_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_assists_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__ASSISTS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Points feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addPointsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_points_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_points_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__POINTS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Plus Minus feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addPlusMinusPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_plusMinus_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_plusMinus_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__PLUS_MINUS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Penalty Minutes feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addPenaltyMinutesPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_penaltyMinutes_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_penaltyMinutes_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__PENALTY_MINUTES,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Power Play Goals feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addPowerPlayGoalsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_powerPlayGoals_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_powerPlayGoals_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__POWER_PLAY_GOALS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Short Handed Goals feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addShortHandedGoalsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_shortHandedGoals_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_shortHandedGoals_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__SHORT_HANDED_GOALS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Game Winning Goals feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addGameWinningGoalsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_gameWinningGoals_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_gameWinningGoals_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__GAME_WINNING_GOALS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Shots feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addShotsPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_shots_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_shots_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__SHOTS,
-				 true,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Shot Percentage feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addShotPercentagePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_PlayerStats_shotPercentage_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_PlayerStats_shotPercentage_feature", "_UI_PlayerStats_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 HockeyleaguePackage.Literals.PLAYER_STATS__SHOT_PERCENTAGE,
-				 true,
-				 ItemPropertyDescriptor.REAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns PlayerStats.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getImage(Object object) {
-		return getResourceLocator().getImage("full/obj16/PlayerStats"); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((PlayerStats)object).getYear();
-		return label == null || label.length() == 0 ?
-			getString("_UI_PlayerStats_type") : //$NON-NLS-1$
-			getString("_UI_PlayerStats_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(PlayerStats.class)) {
-			case HockeyleaguePackage.PLAYER_STATS__YEAR:
-			case HockeyleaguePackage.PLAYER_STATS__GAMES_PLAYED_IN:
-			case HockeyleaguePackage.PLAYER_STATS__GOALS:
-			case HockeyleaguePackage.PLAYER_STATS__ASSISTS:
-			case HockeyleaguePackage.PLAYER_STATS__POINTS:
-			case HockeyleaguePackage.PLAYER_STATS__PLUS_MINUS:
-			case HockeyleaguePackage.PLAYER_STATS__PENALTY_MINUTES:
-			case HockeyleaguePackage.PLAYER_STATS__POWER_PLAY_GOALS:
-			case HockeyleaguePackage.PLAYER_STATS__SHORT_HANDED_GOALS:
-			case HockeyleaguePackage.PLAYER_STATS__GAME_WINNING_GOALS:
-			case HockeyleaguePackage.PLAYER_STATS__SHOTS:
-			case HockeyleaguePackage.PLAYER_STATS__SHOT_PERCENTAGE:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/TeamItemProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/TeamItemProvider.java
deleted file mode 100644
index 122942c..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/provider/TeamItemProvider.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider;
-
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class TeamItemProvider
-	extends HockeyleagueObjectItemProvider
-	implements	
-		IEditingDomainItemProvider,	
-		IStructuredItemContentProvider,	
-		ITreeItemContentProvider,	
-		IItemLabelProvider,	
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public TeamItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
-	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
-	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Collection getChildrenFeatures(Object object) {
-		if (childrenFeatures == null) {
-			super.getChildrenFeatures(object);
-			childrenFeatures.add(HockeyleaguePackage.Literals.TEAM__FORWARDS);
-			childrenFeatures.add(HockeyleaguePackage.Literals.TEAM__DEFENCEMEN);
-			childrenFeatures.add(HockeyleaguePackage.Literals.TEAM__GOALIES);
-			childrenFeatures.add(HockeyleaguePackage.Literals.TEAM__ARENA);
-		}
-		return childrenFeatures;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EStructuralFeature getChildFeature(Object object, Object child) {
-		// Check the type of the specified child object and return the proper feature to use for
-		// adding (see {@link AddCommand}) it as a child.
-
-		return super.getChildFeature(object, child);
-	}
-
-	/**
-	 * This returns Team.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object getImage(Object object) {
-		return getResourceLocator().getImage("full/obj16/Team"); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getText(Object object) {
-		String label = ((Team)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_Team_type") : //$NON-NLS-1$
-			getString("_UI_Team_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(Team.class)) {
-			case HockeyleaguePackage.TEAM__FORWARDS:
-			case HockeyleaguePackage.TEAM__DEFENCEMEN:
-			case HockeyleaguePackage.TEAM__GOALIES:
-			case HockeyleaguePackage.TEAM__ARENA:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
-	 * describing all of the children that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-
-		newChildDescriptors.add
-			(createChildParameter
-				(HockeyleaguePackage.Literals.TEAM__FORWARDS,
-				 HockeyleagueFactory.eINSTANCE.createForward()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(HockeyleaguePackage.Literals.TEAM__DEFENCEMEN,
-				 HockeyleagueFactory.eINSTANCE.createDefence()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(HockeyleaguePackage.Literals.TEAM__GOALIES,
-				 HockeyleagueFactory.eINSTANCE.createGoalie()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(HockeyleaguePackage.Literals.TEAM__ARENA,
-				 HockeyleagueFactory.eINSTANCE.createArena()));
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ResourceLocator getResourceLocator() {
-		return HockeyleaguePlugin.INSTANCE;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/actions/HockeyleagueCreateChildAction.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/actions/HockeyleagueCreateChildAction.java
deleted file mode 100644
index c522581..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/actions/HockeyleagueCreateChildAction.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.actions;
-
-import org.eclipse.emf.edit.command.AddCommand;
-import org.eclipse.emf.edit.command.CreateChildCommand;
-import org.eclipse.emf.edit.command.SetCommand;
-import org.eclipse.emf.edit.ui.action.CreateChildAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.dialogs.HockeyleagueSetDefaultsDialog;
-
-/**
- * Create child action for the Tabbed Properties View Hockey League Example.
- * 
- * @author Anthony Hunter
- */
-public class HockeyleagueCreateChildAction extends CreateChildAction {
-	public HockeyleagueCreateChildAction(IEditorPart editorPart,
-			ISelection selection, Object descriptor) {
-		super(editorPart, selection, descriptor);
-	}
-
-	public void run() {
-		CreateChildCommand createChildCommand = (CreateChildCommand) this.command;
-		HockeyleagueSetDefaultsDialog dialog;
-		if (createChildCommand.getCommand() instanceof AddCommand) {
-			AddCommand addCommand = (AddCommand) createChildCommand.getCommand();
-			dialog = new HockeyleagueSetDefaultsDialog(Display.getCurrent()
-					.getActiveShell(), addCommand);
-		} else if (createChildCommand.getCommand() instanceof SetCommand) {
-			SetCommand setCommand = (SetCommand) createChildCommand.getCommand();
-			dialog = new HockeyleagueSetDefaultsDialog(Display.getCurrent()
-					.getActiveShell(), setCommand);
-		} else {
-			dialog = null;
-		}
-		dialog.open();
-		if (dialog.getReturnCode() == Window.CANCEL) {
-			return;
-		}
-		super.run();
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/dialogs/HockeyleagueSetDefaultsDialog.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/dialogs/HockeyleagueSetDefaultsDialog.java
deleted file mode 100644
index adf7d05..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/dialogs/HockeyleagueSetDefaultsDialog.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.dialogs;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.edit.command.AddCommand;
-import org.eclipse.emf.edit.command.SetCommand;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind;
-
-/**
- * A defaults dialog that allows for data entry for the Tabbed Properties View
- * Hockey League Example.
- * 
- * @author Anthony Hunter
- */
-public class HockeyleagueSetDefaultsDialog
-	extends Dialog {
-
-	private class DefaultValue {
-
-		protected Method method;
-
-		protected String label;
-
-		protected Object value;
-
-		protected Object widget;
-
-		protected DefaultValue(Method method) {
-			this.method = method;
-			label = method.getName().substring(3) + ":";//$NON-NLS-1$
-		}
-
-		public String toString() {
-			return method.toString();
-		}
-	}
-
-	private EObject owner = null;
-
-	private EObject child = null;
-
-	private ArrayList defaultValues = null;
-
-	public HockeyleagueSetDefaultsDialog(Shell parentShell,
-			AddCommand addCommand) {
-		super(parentShell);
-		Collection collection = addCommand.getCollection();
-		this.owner = addCommand.getOwner();
-		this.child = (EObject) collection.iterator().next();
-		this.defaultValues = getDefaultValues(child);
-	}
-
-	public HockeyleagueSetDefaultsDialog(Shell parentShell,
-			SetCommand setCommand) {
-		super(parentShell);
-		this.owner = setCommand.getOwner();
-		this.child = (EObject) setCommand.getValue();
-		this.defaultValues = getDefaultValues(child);
-	}
-
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		shell.setText("Add New " + child.eClass().getName()); //$NON-NLS-1$
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-		Group group = createGroup(composite, child.eClass().getName(), 2);
-		for (Iterator i = defaultValues.iterator(); i.hasNext();) {
-			DefaultValue defaultValue = (DefaultValue) i.next();
-			Label label = createLabel(group, defaultValue.label);
-			label.setToolTipText(""); //$NON-NLS-1$
-			Class setType = defaultValue.method.getParameterTypes()[0];
-			if (setType.equals(String.class)) {
-				defaultValue.widget = createTextField(group);
-				((Text) defaultValue.widget).setText(defaultValue.method
-					.getName().substring(3));
-			} else if (setType.equals(int.class)) {
-				defaultValue.widget = createTextField(group);
-				((Text) defaultValue.widget).setText("0");//$NON-NLS-1$
-			} else if (setType.equals(float.class)) {
-				defaultValue.widget = createTextField(group);
-				((Text) defaultValue.widget).setText("0.0F");//$NON-NLS-1$
-			} else if (setType.equals(Boolean.class)) {
-				defaultValue.widget = createCheckBox(group, "Yes"); //$NON-NLS-1$
-			} else if (setType.equals(DefencePositionKind.class)) {
-				defaultValue.widget = createCombo(group, new String[] {
-					DefencePositionKind.LEFT_DEFENCE_LITERAL.getName(),
-					DefencePositionKind.RIGHT_DEFENCE_LITERAL.getName()});
-			} else if (setType.equals(ForwardPositionKind.class)) {
-				defaultValue.widget = createCombo(group, new String[] {
-					ForwardPositionKind.LEFT_WING_LITERAL.getName(),
-					ForwardPositionKind.RIGHT_WING_LITERAL.getName(),
-					ForwardPositionKind.CENTER_LITERAL.getName()});
-			} else if (setType.equals(WeightKind.class)) {
-				defaultValue.widget = createCombo(group, new String[] {
-					WeightKind.POUNDS_LITERAL.getName(),
-					WeightKind.KILOGRAMS_LITERAL.getName()});
-			} else if (setType.equals(ShotKind.class)) {
-				defaultValue.widget = createCombo(group, new String[] {
-					ShotKind.LEFT_LITERAL.getName(),
-					ShotKind.RIGHT_LITERAL.getName()});
-			} else if (setType.equals(HeightKind.class)) {
-				defaultValue.widget = createCombo(group, new String[] {
-					HeightKind.INCHES_LITERAL.getName(),
-					HeightKind.CENTIMETERS_LITERAL.getName()});
-			} else if (setType.equals(Team.class)) {
-				League league = (League) owner.eResource().getContents().get(0);
-				Team[] teams = (Team[]) league.getTeams().toArray();
-				String[] teamNames = new String[teams.length];
-				for (int t = 0; t < teams.length; t++) {
-					teamNames[t] = teams[t].getName();
-				}
-				defaultValue.widget = createCombo(group, teamNames);
-			} else {
-				defaultValue.widget = createLabel(group, "N/A");//$NON-NLS-1$
-			}
-		}
-		return composite;
-	}
-
-	protected Group createGroup(Composite parent, String text, int numColumns) {
-		Group composite = new Group(parent, SWT.NONE);
-		composite.setText(text);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = numColumns;
-		layout.makeColumnsEqualWidth = false;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		composite.setLayoutData(data);
-		return composite;
-	}
-
-	protected Label createLabel(Composite parent, String text) {
-		Label label = new Label(parent, SWT.NONE);
-		label.setText(text);
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(data);
-		return label;
-	}
-
-	protected Text createTextField(Composite parent) {
-		Text text = new Text(parent, SWT.SINGLE | SWT.BORDER);
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		data.verticalAlignment = GridData.CENTER;
-		data.grabExcessVerticalSpace = false;
-		data.widthHint = 250;
-		text.setLayoutData(data);
-		return text;
-	}
-
-	protected Button createCheckBox(Composite group, String label) {
-		Button button = new Button(group, SWT.CHECK | SWT.LEFT);
-		button.setText(label);
-		GridData data = new GridData();
-		button.setLayoutData(data);
-		return button;
-	}
-
-	protected Combo createCombo(Composite parent, String[] items) {
-		Combo combo = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
-		combo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		combo.setFont(parent.getFont());
-		combo.setItems(items);
-		combo.select(0);
-		return combo;
-	}
-
-	protected void okPressed() {
-		for (Iterator i = defaultValues.iterator(); i.hasNext();) {
-			DefaultValue defaultValue = (DefaultValue) i.next();
-			Class setType = defaultValue.method.getParameterTypes()[0];
-			if (setType.equals(String.class)) {
-				defaultValue.value = ((Text) defaultValue.widget).getText();
-			} else if (setType.equals(int.class)) {
-				String text = ((Text) defaultValue.widget).getText();
-				defaultValue.value = Integer.valueOf(text);
-			} else if (setType.equals(float.class)) {
-				String text = ((Text) defaultValue.widget).getText();
-				defaultValue.value = Float.valueOf(text);
-			} else if (setType.equals(DefencePositionKind.class)) {
-				switch (((Combo) defaultValue.widget).getSelectionIndex()) {
-					case DefencePositionKind.LEFT_DEFENCE:
-						defaultValue.value = DefencePositionKind.LEFT_DEFENCE_LITERAL;
-						break;
-					case DefencePositionKind.RIGHT_DEFENCE:
-						defaultValue.value = DefencePositionKind.RIGHT_DEFENCE_LITERAL;
-						break;
-				}
-			} else if (setType.equals(ForwardPositionKind.class)) {
-				switch (((Combo) defaultValue.widget).getSelectionIndex()) {
-					case ForwardPositionKind.LEFT_WING:
-						defaultValue.value = ForwardPositionKind.LEFT_WING_LITERAL;
-						break;
-					case ForwardPositionKind.CENTER:
-						defaultValue.value = ForwardPositionKind.CENTER_LITERAL;
-						break;
-					case ForwardPositionKind.RIGHT_WING:
-						defaultValue.value = ForwardPositionKind.RIGHT_WING_LITERAL;
-						break;
-				}
-			} else if (setType.equals(WeightKind.class)) {
-				switch (((Combo) defaultValue.widget).getSelectionIndex()) {
-					case WeightKind.KILOGRAMS:
-						defaultValue.value = WeightKind.KILOGRAMS_LITERAL;
-						break;
-					case WeightKind.POUNDS:
-						defaultValue.value = WeightKind.POUNDS_LITERAL;
-						break;
-				}
-			} else if (setType.equals(ShotKind.class)) {
-				switch (((Combo) defaultValue.widget).getSelectionIndex()) {
-					case ShotKind.LEFT:
-						defaultValue.value = ShotKind.LEFT_LITERAL;
-						break;
-					case ShotKind.RIGHT:
-						defaultValue.value = ShotKind.RIGHT_LITERAL;
-						break;
-				}
-			} else if (setType.equals(HeightKind.class)) {
-				switch (((Combo) defaultValue.widget).getSelectionIndex()) {
-					case HeightKind.CENTIMETERS:
-						defaultValue.value = HeightKind.CENTIMETERS_LITERAL;
-						break;
-					case HeightKind.INCHES:
-						defaultValue.value = HeightKind.INCHES_LITERAL;
-						break;
-				}
-			} else if (setType.equals(Team.class)) {
-				League league = (League) owner.eResource().getContents().get(0);
-				Team[] teams = (Team[]) league.getTeams().toArray();
-				defaultValue.value = teams[((Combo) defaultValue.widget)
-					.getSelectionIndex()];
-			} else if (setType.equals(Boolean.class)) {
-				defaultValue.value = ((Button) defaultValue.widget)
-					.getSelection() ? Boolean.TRUE
-					: Boolean.FALSE;
-			}
-		}
-		setDefaultValues(defaultValues, child);
-		super.okPressed();
-	}
-
-	private ArrayList getDefaultValues(EObject aChild) {
-		ArrayList ret = new ArrayList();
-		Class childClassImpl = aChild.getClass();
-		Method[] methods = childClassImpl.getMethods();
-		for (int i = 0; i < methods.length; i++) {
-			if (methods[i].getName().startsWith("set")) {//$NON-NLS-1$
-				Class setType = methods[i].getParameterTypes()[0];
-				if (!setType.equals(Class.class)
-					&& !setType.equals(Arena.class)
-					&& !setType.equals(EList.class)) {
-					ret.add(new DefaultValue(methods[i]));
-				}
-			}
-		}
-		return ret;
-	}
-
-	private void setDefaultValues(ArrayList defaultValues, EObject child) {
-		for (Iterator i = defaultValues.iterator(); i.hasNext();) {
-			DefaultValue defaultValue = (DefaultValue) i.next();
-			try {
-				defaultValue.method.invoke(child,
-					new Object[] {defaultValue.value});
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/editor/HockeyleagueActionBarContributor.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/editor/HockeyleagueActionBarContributor.java
deleted file mode 100644
index 0ca9054..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/editor/HockeyleagueActionBarContributor.java
+++ /dev/null
@@ -1,405 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.LinkedList;
-
-import org.eclipse.emf.common.ui.viewer.IViewerProvider;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.domain.IEditingDomainProvider;
-import org.eclipse.emf.edit.ui.action.CreateChildAction;
-import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
-import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IContributionManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.SubContributionItem;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.actions.HockeyleagueCreateChildAction;
-
-/**
- * This is the action bar contributor for the Hockeyleague model editor.
- * 
- * @author Anthony Hunter
- */
-public class HockeyleagueActionBarContributor
-	extends EditingDomainActionBarContributor
-	implements ISelectionChangedListener {
-
-	/**
-	 * This keeps track of the active editor. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IEditorPart activeEditorPart;
-
-	/**
-	 * This keeps track of the current selection provider. <!-- begin-user-doc
-	 * --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected ISelectionProvider selectionProvider;
-
-	/**
-	 * This action opens the Properties view. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IAction showPropertiesViewAction = new Action(
-		"Show &Properties View") {//$NON-NLS-1$
-
-		public void run() {
-			try {
-				getPage().showView("org.eclipse.ui.views.PropertySheet");//$NON-NLS-1$
-			} catch (PartInitException exception) {
-				exception.printStackTrace();
-			}
-		}
-	};
-
-	/**
-	 * This action refreshes the viewer of the current editor if the editor
-	 * implements {@link IViewerProvider}. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IAction refreshViewerAction = new Action("Refresh") {//$NON-NLS-1$
-
-		public boolean isEnabled() {
-			return activeEditorPart instanceof IViewerProvider;
-		}
-
-		public void run() {
-			if (activeEditorPart instanceof IViewerProvider) {
-				Viewer viewer = ((IViewerProvider) activeEditorPart)
-					.getViewer();
-				if (viewer != null) {
-					viewer.refresh();
-				}
-			}
-		}
-	};
-
-	/**
-	 * This will contain one {@link CreateChildAction}corresponding to each
-	 * descriptor generated for the current selection by the item provider. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected Collection createChildActions;
-
-	/**
-	 * This is the menu manager into which menu contribution items should be
-	 * added for CreateChild actions. <!-- begin-user-doc --> <!-- end-user-doc
-	 * -->
-	 * 
-	 * @generated
-	 */
-	protected IMenuManager createChildMenuManager;
-
-	/**
-	 * This will contain one {@link CreateSiblingAction}corresponding to each
-	 * descriptor generated for the current selection by the item provider. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected Collection createSiblingActions;
-
-	/**
-	 * This is the menu manager into which menu contribution items should be
-	 * added for CreateSibling actions. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IMenuManager createSiblingMenuManager;
-
-	/**
-	 * This creates an instance of the contributor. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public HockeyleagueActionBarContributor() {
-		//
-	}
-
-	/**
-	 * This adds Separators for editor additions to the tool bar. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void contributeToToolBar(IToolBarManager toolBarManager) {
-		toolBarManager.add(new Separator("hockeyleague-settings"));//$NON-NLS-1$
-		toolBarManager.add(new Separator("hockeyleague-additions"));//$NON-NLS-1$
-	}
-
-	/**
-	 * This adds to the menu bar a menu and some separators for editor
-	 * additions, as well as the sub-menus for object creation items. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void contributeToMenu(IMenuManager menuManager) {
-		super.contributeToMenu(menuManager);
-
-		IMenuManager submenuManager = new MenuManager("&Hockeyleague Editor",//$NON-NLS-1$
-			"org.eclipse.ui.examples.views.properties.tabbed.hockeyleagueMenuID");//$NON-NLS-1$
-		menuManager.insertAfter("additions", submenuManager);//$NON-NLS-1$
-		submenuManager.add(new Separator("settings"));//$NON-NLS-1$
-		submenuManager.add(new Separator("actions"));//$NON-NLS-1$
-		submenuManager.add(new Separator("additions"));//$NON-NLS-1$
-		submenuManager.add(new Separator("additions-end"));//$NON-NLS-1$
-
-		// Prepare for CreateChild item addition or removal.
-		//
-		createChildMenuManager = new MenuManager("&New Child");//$NON-NLS-1$
-		submenuManager.insertBefore("additions", createChildMenuManager);//$NON-NLS-1$
-
-		// Prepare for CreateSibling item addition or removal.
-		//
-		createSiblingMenuManager = new MenuManager("N&ew Sibling");//$NON-NLS-1$
-		submenuManager.insertBefore("additions", createSiblingMenuManager);//$NON-NLS-1$
-	}
-
-	/**
-	 * When the active editor changes, this remembers the change, and registers
-	 * with it as a selection provider. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setActiveEditor(IEditorPart part) {
-		super.setActiveEditor(part);
-		activeEditorPart = part;
-
-		// Switch to the new selection provider.
-		//
-		if (selectionProvider != null) {
-			selectionProvider.removeSelectionChangedListener(this);
-		}
-		if (part == null) {
-			selectionProvider = null;
-		} else {
-			selectionProvider = part.getSite().getSelectionProvider();
-			selectionProvider.addSelectionChangedListener(this);
-
-			// Fake a selection changed event to update the menus.
-			//
-			if (selectionProvider.getSelection() != null) {
-				selectionChanged(new SelectionChangedEvent(selectionProvider,
-					selectionProvider.getSelection()));
-			}
-		}
-	}
-
-	/**
-	 * This implements {@link ISelectionChangedListener}, handling
-	 * {@link SelectionChangedEvents}by querying for the children and siblings
-	 * that can be added to the selected object and updating the menus
-	 * accordingly. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void selectionChanged(SelectionChangedEvent event) {
-		// Remove any menu items for old selection.
-		//
-		if (createChildMenuManager != null) {
-			depopulateManager(createChildMenuManager, createChildActions);
-		}
-		if (createSiblingMenuManager != null) {
-			depopulateManager(createSiblingMenuManager, createSiblingActions);
-		}
-
-		// Query the new selection for appropriate new child/sibling descriptors
-		//
-		Collection newChildDescriptors = null;
-		Collection newSiblingDescriptors = null;
-
-		ISelection selection = event.getSelection();
-		if (selection instanceof IStructuredSelection
-			&& ((IStructuredSelection) selection).size() == 1) {
-			Object object = ((IStructuredSelection) selection)
-				.getFirstElement();
-
-			EditingDomain domain = ((IEditingDomainProvider) activeEditorPart)
-				.getEditingDomain();
-
-			newChildDescriptors = domain.getNewChildDescriptors(object, null);
-			newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
-		}
-
-		// Generate actions for selection; populate and redraw the menus.
-		//
-		createChildActions = generateCreateChildActions(newChildDescriptors,
-			selection);
-		createSiblingActions = generateCreateSiblingActions(
-			newSiblingDescriptors, selection);
-
-		if (createChildMenuManager != null) {
-			populateManager(createChildMenuManager, createChildActions, null);
-			createChildMenuManager.update(true);
-		}
-		if (createSiblingMenuManager != null) {
-			populateManager(createSiblingMenuManager, createSiblingActions,
-				null);
-			createSiblingMenuManager.update(true);
-		}
-	}
-
-	/**
-	 * This generates a {@link CreateChildAction}for each object in
-	 * <code>descriptors</code>, and returns the collection of these actions.
-	 * <!-- begin-user-doc --> Modified <!-- end-user-doc -->
-	 */
-	protected Collection generateCreateChildActions(Collection descriptors,
-			ISelection selection) {
-		Collection actions = new LinkedList();
-		if (descriptors != null) {
-			for (Iterator i = descriptors.iterator(); i.hasNext();) {
-				actions.add(new HockeyleagueCreateChildAction(activeEditorPart,
-					selection, i.next()));
-			}
-		}
-		return actions;
-	}
-
-	/**
-	 * This generates a {@link CreateSiblingAction}for each object in
-	 * <code>descriptors</code>, and returns the collection of these actions.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected Collection generateCreateSiblingActions(Collection descriptors,
-			ISelection selection) {
-		Collection actions = new LinkedList();
-		if (descriptors != null) {
-			for (Iterator i = descriptors.iterator(); i.hasNext();) {
-				actions.add(new CreateSiblingAction(activeEditorPart,
-					selection, i.next()));
-			}
-		}
-		return actions;
-	}
-
-	/**
-	 * This populates the specified <code>manager</code> with
-	 * {@link ActionContributionItem}s based on the {@link IAction}s contained
-	 * in the <code>actions</code> collection, by inserting them before the
-	 * specified contribution item <code>contributionID</code>. If
-	 * <code>ID</code> is <code>null</code>, they are simply added. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected void populateManager(IContributionManager manager,
-			Collection actions, String contributionID) {
-		if (actions != null) {
-			for (Iterator i = actions.iterator(); i.hasNext();) {
-				IAction action = (IAction) i.next();
-				if (contributionID != null) {
-					manager.insertBefore(contributionID, action);
-				} else {
-					manager.add(action);
-				}
-			}
-		}
-	}
-
-	/**
-	 * This removes from the specified <code>manager</code> all
-	 * {@link ActionContributionItem}s based on the {@link IAction}s contained
-	 * in the <code>actions</code> collection. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected void depopulateManager(IContributionManager manager,
-			Collection actions) {
-		if (actions != null) {
-			IContributionItem[] items = manager.getItems();
-			for (int i = 0; i < items.length; i++) {
-				// Look into SubContributionItems
-				//
-				IContributionItem contributionItem = items[i];
-				while (contributionItem instanceof SubContributionItem) {
-					contributionItem = ((SubContributionItem) contributionItem)
-						.getInnerItem();
-				}
-
-				// Delete the ActionContributionItems with matching action.
-				//
-				if (contributionItem instanceof ActionContributionItem) {
-					IAction action = ((ActionContributionItem) contributionItem)
-						.getAction();
-					if (actions.contains(action)) {
-						manager.remove(contributionItem);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * add actions to the menu manager.
-	 */
-	protected void populateManager(IContributionManager manager,
-			Collection actions) {
-		if (actions != null) {
-			for (Iterator i = actions.iterator(); i.hasNext();) {
-				IAction action = (IAction) i.next();
-				if (!action.getText().startsWith("Add")) {//$NON-NLS-1$
-					action.setText("Add " + action.getText() + "...");//$NON-NLS-2$//$NON-NLS-1$
-				}
-				manager.insertBefore("additions", action); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/**
-	 * This populates the pop-up menu before it appears. <!-- begin-user-doc -->
-	 * Modified <!-- end-user-doc -->
-	 */
-	public void menuAboutToShow(IMenuManager menuManager) {
-		refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
-
-		super.menuAboutToShow(menuManager);
-		populateManager(menuManager, createChildActions);
-
-		menuManager.insertAfter("additions-end", new Separator("ui-actions"));//$NON-NLS-2$//$NON-NLS-1$
-		menuManager.insertAfter("ui-actions", showPropertiesViewAction);//$NON-NLS-1$
-		menuManager.insertAfter("ui-actions", refreshViewerAction);//$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/editor/HockeyleagueEditor.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/editor/HockeyleagueEditor.java
deleted file mode 100644
index 4edaf32..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/editor/HockeyleagueEditor.java
+++ /dev/null
@@ -1,1199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor;
-
-import java.io.IOException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.EventObject;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.emf.common.command.BasicCommandStack;
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.command.CommandStack;
-import org.eclipse.emf.common.command.CommandStackListener;
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.ui.ViewerPane;
-import org.eclipse.emf.common.ui.viewer.IViewerProvider;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.domain.IEditingDomainProvider;
-import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
-import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
-import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
-import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
-import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
-import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
-import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
-import org.eclipse.jface.action.IMenuListener;
-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.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.SaveAsDialog;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.provider.HockeyleagueItemProviderAdapterFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.HockeyleaguePropertySheetPage;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.part.MultiPageEditorPart;
-import org.eclipse.ui.views.contentoutline.ContentOutline;
-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.PropertySheet;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * This is the editor for the Hockeyleague model editor.
- * 
- * @author Anthony Hunter
- */
-public class HockeyleagueEditor
-	extends MultiPageEditorPart
-	implements IEditingDomainProvider, ISelectionProvider, IMenuListener,
-	IViewerProvider, ITabbedPropertySheetPageContributor {
-
-	/**
-	 * This keeps track of the editing domain that is used to track all changes
-	 * to the model. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected AdapterFactoryEditingDomain editingDomain;
-
-	/**
-	 * This is the one adapter factory used for providing views of the model.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected ComposedAdapterFactory adapterFactory;
-
-	/**
-	 * This is the content outline page. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IContentOutlinePage contentOutlinePage;
-
-	/**
-	 * This is a kludge... <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IStatusLineManager contentOutlineStatusLineManager;
-
-	/**
-	 * This is the content outline page's viewer. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected TreeViewer contentOutlineViewer;
-
-	/**
-	 * This is the property sheet page. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated protected TabbedPropertySheetPage propertySheetPage;
-	 */
-
-	/**
-	 * This shows how a tree view works. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected TreeViewer treeViewer;
-
-	/**
-	 * This keeps track of the active viewer pane, in the book. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected ViewerPane currentViewerPane;
-
-	/**
-	 * This keeps track of the active content viewer, which may be either one of
-	 * the viewers in the pages or the content outline viewer. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected Viewer currentViewer;
-
-	/**
-	 * This listens to which ever viewer is active. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected ISelectionChangedListener selectionChangedListener;
-
-	/**
-	 * This keeps track of all the
-	 * {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are
-	 * listening to this editor. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected Collection selectionChangedListeners = new ArrayList();
-
-	/**
-	 * This keeps track of the selection of the editor as a whole. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected ISelection editorSelection;
-
-	/**
-	 * This listens for when the outline becomes active <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IPartListener partListener = new IPartListener() {
-
-		public void partActivated(IWorkbenchPart p) {
-			if (p instanceof ContentOutline) {
-				if (((ContentOutline) p).getCurrentPage() == contentOutlinePage) {
-					getActionBarContributor().setActiveEditor(
-						HockeyleagueEditor.this);
-
-					setCurrentViewer(contentOutlineViewer);
-				}
-			} else if (p instanceof PropertySheet) {
-				if (((PropertySheet) p).getCurrentPage() == getPropertySheetPage()) {
-					getActionBarContributor().setActiveEditor(
-						HockeyleagueEditor.this);
-					handleActivate();
-				}
-			} else if (p == HockeyleagueEditor.this) {
-				handleActivate();
-			}
-		}
-
-		public void partBroughtToTop(IWorkbenchPart p) {
-		}
-
-		public void partClosed(IWorkbenchPart p) {
-		}
-
-		public void partDeactivated(IWorkbenchPart p) {
-		}
-
-		public void partOpened(IWorkbenchPart p) {
-		}
-	};
-
-	private HockeyleaguePropertySheetPage propertySheetPage;
-	
-	/**
-	 * Resources that have been removed since last activation.
-	 * 
-	 * @generated
-	 */
-	Collection removedResources = new ArrayList();
-
-	/**
-	 * Resources that have been changed since last activation.
-	 * 
-	 * @generated
-	 */
-	Collection changedResources = new ArrayList();
-
-	/**
-	 * Resources that have been saved.
-	 * 
-	 * @generated
-	 */
-	Collection savedResources = new ArrayList();
-
-	/**
-	 * This listens for workspace changes. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IResourceChangeListener resourceChangeListener = new IResourceChangeListener() {
-
-		public void resourceChanged(IResourceChangeEvent event) {
-			//ResourceSet resourceSet = editingDomain.getResourceSet();
-			// Only listening to these.
-			// if (event.getType() == IResourceDelta.POST_CHANGE)
-			{
-				IResourceDelta delta = event.getDelta();
-				try {
-					class ResourceDeltaVisitor
-						implements IResourceDeltaVisitor {
-
-						protected ResourceSet resourceSet = editingDomain
-							.getResourceSet();
-
-						//protected Collection changedResources = new
-						// ArrayList();
-						//protected Collection removedResources = new
-						// ArrayList();
-
-						public boolean visit(IResourceDelta delta1) {
-							if (delta1.getFlags() != IResourceDelta.MARKERS
-								&& delta1.getResource().getType() == IResource.FILE) {
-								if ((delta1.getKind() & (IResourceDelta.CHANGED | IResourceDelta.REMOVED)) != 0) {
-									Resource resource = resourceSet
-										.getResource(URI.createURI(delta1
-											.getFullPath().toString()), false);
-									if (resource != null) {
-										if ((delta1.getKind() & IResourceDelta.REMOVED) != 0) {
-											removedResources.add(resource);
-										} else {
-											changedResources.add(resource);
-										}
-									}
-								}
-							}
-
-							return true;
-						}
-
-						public Collection getChangedResources() {
-							return changedResources;
-						}
-
-						public Collection getRemovedResources() {
-							return removedResources;
-						}
-					}
-
-					ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
-					delta.accept(visitor);
-
-					removedResources.addAll(visitor.getRemovedResources());
-					if (!visitor.getRemovedResources().isEmpty() && !isDirty()) {
-						getSite().getShell().getDisplay().asyncExec(
-							new Runnable() {
-
-								public void run() {
-									getSite().getPage().closeEditor(
-										HockeyleagueEditor.this, false);
-									HockeyleagueEditor.this.dispose();
-								}
-							});
-					}
-
-					changedResources.addAll(visitor.getChangedResources());
-				} catch (CoreException exception) {
-					exception.printStackTrace();
-				}
-			}
-		}
-	};
-
-	/**
-	 * Handles activation of the editor or it's associated views.
-	 * 
-	 * @generated
-	 */
-	protected void handleActivate() {
-		if (!removedResources.isEmpty()) {
-			if (handleDirtyConflict()) {
-				getSite().getPage().closeEditor(HockeyleagueEditor.this, false);
-				HockeyleagueEditor.this.dispose();
-			} else {
-				removedResources.clear();
-				changedResources.clear();
-				savedResources.clear();
-			}
-		} else if (!changedResources.isEmpty()) {
-			changedResources.removeAll(savedResources);
-			handleChangedResources();
-			changedResources.clear();
-			savedResources.clear();
-		}
-	}
-
-	/**
-	 * Handles what to do with changed resources on activation.
-	 * 
-	 * @generated
-	 */
-	protected void handleChangedResources() {
-		if (!changedResources.isEmpty()
-			&& (!isDirty() || handleDirtyConflict())) {
-			editingDomain.getCommandStack().flush();
-
-			for (Iterator i = changedResources.iterator(); i.hasNext();) {
-				Resource resource = (Resource) i.next();
-				if (resource.isLoaded()) {
-					resource.unload();
-					try {
-						resource.load(Collections.EMPTY_MAP);
-					} catch (IOException exception) {
-						exception.printStackTrace();
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Shows a dialog that asks if conflicting changes should be discarded.
-	 * 
-	 * @generated
-	 */
-	protected boolean handleDirtyConflict() {
-		return MessageDialog
-			.openQuestion(
-				getSite().getShell(),
-				"File Conflict",//$NON-NLS-1$
-				"There are unsaved changes that conflict with changes made outside the editor.  Do you wish to discard this editor's changes?");//$NON-NLS-1$
-	}
-
-	/**
-	 * This creates a model editor. <!-- begin-user-doc --> <!-- end-user-doc
-	 * -->
-	 * 
-	 * @generated
-	 */
-	public HockeyleagueEditor() {
-		super();
-
-		// Create an adapter factory that yields item providers.
-		//
-		List factories = new ArrayList();
-		factories.add(new ResourceItemProviderAdapterFactory());
-		factories.add(new HockeyleagueItemProviderAdapterFactory());
-		factories.add(new ReflectiveItemProviderAdapterFactory());
-
-		adapterFactory = new ComposedAdapterFactory(factories);
-
-		// Create the command stack that will notify this editor as commands are
-		// executed.
-		//
-		BasicCommandStack commandStack = new BasicCommandStack();
-
-		// Add a listener to set the most recent command's affected objects to
-		// be the selection of the viewer with focus.
-		//
-		commandStack.addCommandStackListener(new CommandStackListener() {
-
-			public void commandStackChanged(final EventObject event) {
-				getContainer().getDisplay().asyncExec(new Runnable() {
-
-					public void run() {
-						firePropertyChange(IEditorPart.PROP_DIRTY);
-
-						// Try to select the affected objects.
-						//
-						Command mostRecentCommand = ((CommandStack) event
-							.getSource()).getMostRecentCommand();
-						if (mostRecentCommand != null) {
-							setSelectionToViewer(mostRecentCommand
-								.getAffectedObjects());
-						}
-						if (getPropertySheetPage() != null) {
-							getPropertySheetPage().refresh();
-						}
-					}
-				});
-			}
-		});
-
-		// Create the editing domain with a special command stack.
-		//
-		editingDomain = new AdapterFactoryEditingDomain(adapterFactory,
-			commandStack);
-	}
-
-	/**
-	 * This is here for the listener to be able to call it. <!-- begin-user-doc
-	 * --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected void firePropertyChange(int action) {
-		super.firePropertyChange(action);
-	}
-
-	/**
-	 * This sets the selection into whichever viewer is active. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setSelectionToViewer(Collection collection) {
-		final Collection theSelection = collection;
-		// Make sure it's okay.
-		//
-		if (theSelection != null && !theSelection.isEmpty()) {
-			// I don't know if this should be run this deferred
-			// because we might have to give the editor a chance to process the
-			// viewer update events
-			// and hence to update the views first.
-			//
-			//
-			Runnable runnable = new Runnable() {
-
-				public void run() {
-					// Try to select the items in the current content viewer of
-					// the editor.
-					//
-					if (currentViewer != null) {
-						currentViewer.setSelection(new StructuredSelection(
-							theSelection.toArray()), true);
-					}
-				}
-			};
-			runnable.run();
-		}
-	}
-
-	/**
-	 * This returns the editing domain as required by the
-	 * {@link IEditingDomainProvider}interface. This is important for
-	 * implementing the static methods of {@link AdapterFactoryEditingDomain}
-	 * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public EditingDomain getEditingDomain() {
-		return editingDomain;
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public class ReverseAdapterFactoryContentProvider
-		extends AdapterFactoryContentProvider {
-
-		public ReverseAdapterFactoryContentProvider(
-				AdapterFactory adapterFactory) {
-			super(adapterFactory);
-		}
-
-		public Object[] getElements(Object object) {
-			Object parent = super.getParent(object);
-			return (parent == null ? Collections.EMPTY_SET
-				: Collections.singleton(parent)).toArray();
-		}
-
-		public Object[] getChildren(Object object) {
-			Object parent = super.getParent(object);
-			return (parent == null ? Collections.EMPTY_SET
-				: Collections.singleton(parent)).toArray();
-		}
-
-		public boolean hasChildren(Object object) {
-			Object parent = super.getParent(object);
-			return parent != null;
-		}
-
-		public Object getParent(Object object) {
-			return null;
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setCurrentViewerPane(ViewerPane viewerPane) {
-		if (currentViewerPane != viewerPane) {
-			if (currentViewerPane != null) {
-				currentViewerPane.showFocus(false);
-			}
-			currentViewerPane = viewerPane;
-		}
-		setCurrentViewer(currentViewerPane.getViewer());
-	}
-
-	/**
-	 * This makes sure that one content viewer, either for the current page or
-	 * the outline view, if it has focus, is the current one. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setCurrentViewer(Viewer viewer) {
-		// If it is changing...
-		//
-		if (currentViewer != viewer) {
-			if (selectionChangedListener == null) {
-				// Create the listener on demand.
-				//
-				selectionChangedListener = new ISelectionChangedListener() {
-
-					// This just notifies those things that are affected by the
-					// section.
-					//
-					public void selectionChanged(
-							SelectionChangedEvent selectionChangedEvent) {
-						setSelection(selectionChangedEvent.getSelection());
-					}
-				};
-			}
-
-			// Stop listening to the old one.
-			//
-			if (currentViewer != null) {
-				currentViewer
-					.removeSelectionChangedListener(selectionChangedListener);
-			}
-
-			// Start listening to the new one.
-			//
-			if (viewer != null) {
-				viewer.addSelectionChangedListener(selectionChangedListener);
-			}
-
-			// Remember it.
-			//
-			currentViewer = viewer;
-
-			// Set the editors selection based on the current viewer's
-			// selection.
-			//
-			setSelection(currentViewer == null ? StructuredSelection.EMPTY
-				: currentViewer.getSelection());
-		}
-	}
-
-	/**
-	 * This returns the viewer as required by the {@link IViewerProvider}
-	 * interface. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public Viewer getViewer() {
-		return currentViewer;
-	}
-
-	/**
-	 * This creates a context menu for the viewer and adds a listener as well
-	 * registering the menu for extension. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected void createContextMenuFor(StructuredViewer viewer) {
-		MenuManager contextMenu = new MenuManager("#PopUp");//$NON-NLS-1$
-		contextMenu.add(new Separator("additions"));//$NON-NLS-1$
-		contextMenu.setRemoveAllWhenShown(true);
-		contextMenu.addMenuListener(this);
-		Menu menu = contextMenu.createContextMenu(viewer.getControl());
-		viewer.getControl().setMenu(menu);
-		getSite().registerContextMenu(contextMenu, viewer);
-
-		int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
-		Transfer[] transfers = new Transfer[] {LocalTransfer.getInstance()};
-		viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(
-			viewer));
-		viewer.addDropSupport(dndOperations, transfers,
-			new EditingDomainViewerDropAdapter(editingDomain, viewer));
-	}
-
-	/**
-	 * This is the method used by the framework to install your own controls.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void createPages() {
-		// I assume that the input is a file object.
-		//
-		IFileEditorInput modelFile = (IFileEditorInput) getEditorInput();
-
-		try {
-			// Load the resource through the editing domain.
-			//
-			editingDomain.loadResource(URI.createPlatformResourceURI(
-				modelFile.getFile().getFullPath().toString()).toString());
-		} catch (Exception exception) {
-			exception.printStackTrace();
-		}
-
-		// Create a page for the selection tree view.
-		//
-		{
-			ViewerPane viewerPane = new ViewerPane(getSite().getPage(),
-				HockeyleagueEditor.this) {
-
-				public Viewer createViewer(Composite composite) {
-					Tree tree = new Tree(composite, SWT.MULTI);
-					TreeViewer newTreeViewer = new TreeViewer(tree);
-					return newTreeViewer;
-				}
-
-				public void requestActivation() {
-					super.requestActivation();
-					setCurrentViewerPane(this);
-				}
-			};
-			viewerPane.createControl(getContainer());
-
-			treeViewer = (TreeViewer) viewerPane.getViewer();
-			treeViewer.setContentProvider(new AdapterFactoryContentProvider(
-				adapterFactory));
-
-			treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(
-				adapterFactory));
-			treeViewer.setInput(editingDomain.getResourceSet());
-			viewerPane.setTitle(editingDomain.getResourceSet());
-
-			new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
-
-			createContextMenuFor(treeViewer);
-			int pageIndex = addPage(viewerPane.getControl());
-			setPageText(pageIndex, "tree");//$NON-NLS-1$
-		}
-
-		setActivePage(0);
-
-		getContainer().addControlListener(new ControlAdapter() {
-
-			boolean guard = false;
-
-			public void controlResized(ControlEvent event) {
-				if (!guard) {
-					guard = true;
-					hideTabs();
-					guard = false;
-				}
-			}
-		});
-	}
-
-	/**
-	 * If there is just one page in the multi-page editor part, this hides the
-	 * single tab at the bottom. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected void hideTabs() {
-		if (getPageCount() <= 1) {
-			setPageText(0, "");//$NON-NLS-1$
-			if (getContainer() instanceof CTabFolder) {
-				((CTabFolder) getContainer()).setTabHeight(1);
-				Point point = getContainer().getSize();
-				getContainer().setSize(point.x, point.y + 6);
-			}
-		}
-	}
-
-	/**
-	 * This is used to track the active viewer. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected void pageChange(int pageIndex) {
-		super.pageChange(pageIndex);
-
-		// This is a temporary workaround... EATM
-		//
-		Control control = getControl(pageIndex);
-		if (control != null) {
-			control.setVisible(true);
-			control.setFocus();
-		}
-
-		if (contentOutlinePage != null) {
-			handleContentOutlineSelection(contentOutlinePage.getSelection());
-		}
-	}
-
-	/**
-	 * This is how the framework determines which interfaces we implement. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public Object getAdapter(Class key) {
-		if (key.equals(IContentOutlinePage.class)) {
-			return getContentOutlinePage();
-		} else if (key.equals(IPropertySheetPage.class)) {
-			return getPropertySheetPage();
-		} else {
-			return super.getAdapter(key);
-		}
-	}
-
-	/**
-	 * This accesses a cached version of the content outliner. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public IContentOutlinePage getContentOutlinePage() {
-		if (contentOutlinePage == null) {
-			// The content outline is just a tree.
-			//
-			class MyContentOutlinePage
-				extends ContentOutlinePage {
-
-				public void createControl(Composite parent) {
-					super.createControl(parent);
-					contentOutlineViewer = getTreeViewer();
-					contentOutlineViewer.addSelectionChangedListener(this);
-
-					// Set up the tree viewer.
-					//
-					contentOutlineViewer
-						.setContentProvider(new AdapterFactoryContentProvider(
-							adapterFactory));
-					contentOutlineViewer
-						.setLabelProvider(new AdapterFactoryLabelProvider(
-							adapterFactory));
-					contentOutlineViewer.setInput(editingDomain
-						.getResourceSet());
-
-					// Make sure our popups work.
-					//
-					createContextMenuFor(contentOutlineViewer);
-
-					if (!editingDomain.getResourceSet().getResources()
-						.isEmpty()) {
-						// Select the root object in the view.
-						//
-						ArrayList selection = new ArrayList();
-						selection.add(editingDomain.getResourceSet()
-							.getResources().get(0));
-						contentOutlineViewer.setSelection(
-							new StructuredSelection(selection), true);
-					}
-				}
-
-				public void makeContributions(IMenuManager menuManager,
-						IToolBarManager toolBarManager,
-						IStatusLineManager statusLineManager) {
-					super.makeContributions(menuManager, toolBarManager,
-						statusLineManager);
-					contentOutlineStatusLineManager = statusLineManager;
-				}
-
-				public void setActionBars(IActionBars actionBars) {
-					super.setActionBars(actionBars);
-					getActionBarContributor().shareGlobalActions(this,
-						actionBars);
-				}
-			}
-
-			contentOutlinePage = new MyContentOutlinePage();
-
-			// Listen to selection so that we can handle it is a special way.
-			//
-			contentOutlinePage
-				.addSelectionChangedListener(new ISelectionChangedListener() {
-
-					// This ensures that we handle selections correctly.
-					//
-					public void selectionChanged(SelectionChangedEvent event) {
-						handleContentOutlineSelection(event.getSelection());
-					}
-				});
-		}
-
-		return contentOutlinePage;
-	}
-
-	/**
-	 * Get the new property sheet page for this editor. 
-	 * @return the new property sheet page.
-	 */
-	public TabbedPropertySheetPage getPropertySheetPage() {
-		if (propertySheetPage == null || propertySheetPage.getControl() == null) {
-			propertySheetPage = new HockeyleaguePropertySheetPage(this);
-		}
-
-		return propertySheetPage;
-	}
-
-	/**
-	 * This deals with how we want selection in the outliner to affect the other
-	 * views. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void handleContentOutlineSelection(ISelection selection) {
-		if (currentViewerPane != null && !selection.isEmpty()
-			&& selection instanceof IStructuredSelection) {
-			Iterator selectedElements = ((IStructuredSelection) selection)
-				.iterator();
-			if (selectedElements.hasNext()) {
-				// Get the first selected element.
-				//
-				Object selectedElement = selectedElements.next();
-
-				ArrayList selectionList = new ArrayList();
-				selectionList.add(selectedElement);
-				while (selectedElements.hasNext()) {
-					selectionList.add(selectedElements.next());
-				}
-
-				// Set the selection to the widget.
-				//
-				treeViewer.setSelection(new StructuredSelection(selectionList));
-			}
-		}
-	}
-
-	/**
-	 * This is for implementing {@link IEditorPart}and simply tests the command
-	 * stack. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public boolean isDirty() {
-		return ((BasicCommandStack) editingDomain.getCommandStack())
-			.isSaveNeeded();
-	}
-
-	/**
-	 * This is for implementing {@link IEditorPart}and simply saves the model
-	 * file. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void doSave(IProgressMonitor progressMonitor) {
-		// Do the work within an operation because this is a long running
-		// activity that modifies the workbench.
-		//
-		WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
-
-			// This is the method that gets invoked when the operation runs.
-			//
-			protected void execute(IProgressMonitor monitor)
-				throws CoreException {
-				try {
-					// Save the resource to the file system.
-					//
-					Resource savedResource = (Resource) editingDomain
-						.getResourceSet().getResources().get(0);
-					savedResources.add(savedResource);
-					savedResource.save(Collections.EMPTY_MAP);
-				} catch (Exception exception) {
-					exception.printStackTrace();
-				}
-			}
-		};
-
-		try {
-			// This runs the options, and shows progress.
-			// (It appears to be a bad thing to fork this onto another thread.)
-			//
-			new ProgressMonitorDialog(getSite().getShell()).run(false, false,
-				operation);
-
-			// Refresh the necessary state.
-			//
-			((BasicCommandStack) editingDomain.getCommandStack()).saveIsDone();
-			firePropertyChange(IEditorPart.PROP_DIRTY);
-		} catch (Exception exception) {
-			// Something went wrong that shouldn't.
-			//
-			exception.printStackTrace();
-		}
-	}
-
-	/**
-	 * This always returns true because it is not currently supported. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public boolean isSaveAsAllowed() {
-		return true;
-	}
-
-	/**
-	 * This also changes the editor's input. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void doSaveAs() {
-		SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
-		saveAsDialog.open();
-		IPath path = saveAsDialog.getResult();
-		if (path != null) {
-			IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
-			if (file != null) {
-				((Resource) editingDomain.getResourceSet().getResources()
-					.get(0)).setURI(URI.createPlatformResourceURI(file
-					.getFullPath().toString()));
-				IFileEditorInput modelFile = new FileEditorInput(file);
-				setInput(modelFile);
-				doSave(getActionBars().getStatusLineManager()
-					.getProgressMonitor());
-			}
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void gotoMarker(IMarker marker) {
-		//
-	}
-
-	/**
-	 * This is called during startup. <!-- begin-user-doc --> <!-- end-user-doc
-	 * -->
-	 * 
-	 * @generated
-	 */
-	public void init(IEditorSite site, IEditorInput editorInput)
-		throws PartInitException {
-		if (editorInput instanceof IFileEditorInput) {
-			setSite(site);
-			setInput(editorInput);
-			site.setSelectionProvider(this);
-			site.getPage().addPartListener(partListener);
-			ResourcesPlugin.getWorkspace().addResourceChangeListener(
-				resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
-		} else {
-			throw new PartInitException(
-				"Invalid Input: Must be IFileEditorInput.");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setFocus() {
-		getControl(getActivePage()).setFocus();
-	}
-
-	/**
-	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void addSelectionChangedListener(ISelectionChangedListener listener) {
-		selectionChangedListeners.add(listener);
-	}
-
-	/**
-	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void removeSelectionChangedListener(
-			ISelectionChangedListener listener) {
-		selectionChangedListeners.remove(listener);
-	}
-
-	/**
-	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}to
-	 * return this editor's overall selection. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public ISelection getSelection() {
-		return editorSelection;
-	}
-
-	/**
-	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}to
-	 * set this editor's overall selection. Calling this result will notify the
-	 * listeners. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setSelection(ISelection selection) {
-		editorSelection = selection;
-		for (Iterator listeners = selectionChangedListeners.iterator(); listeners
-			.hasNext();) {
-			ISelectionChangedListener listener = (ISelectionChangedListener) listeners
-				.next();
-			listener
-				.selectionChanged(new SelectionChangedEvent(this, selection));
-		}
-		setStatusLineManager(selection);
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setStatusLineManager(ISelection selection) {
-		IStatusLineManager statusLineManager = getActionBars()
-			.getStatusLineManager();
-		if (currentViewer == contentOutlineViewer) {
-			statusLineManager = contentOutlineStatusLineManager;
-		}
-
-		if (selection instanceof IStructuredSelection) {
-			Collection collection = ((IStructuredSelection) selection).toList();
-			switch (collection.size()) {
-				case 0: {
-					statusLineManager.setMessage("No Object Selected");//$NON-NLS-1$
-					break;
-				}
-				case 1: {
-					String text = new AdapterFactoryItemDelegator(
-						adapterFactory).getText(collection.iterator().next());
-					statusLineManager.setMessage(MessageFormat.format(
-						"Selected Object: {0}", new Object[] {text}));//$NON-NLS-1$
-					break;
-				}
-				default: {
-					statusLineManager.setMessage(MessageFormat.format(
-						"Selected {0} Objects", new Object[] {Integer//$NON-NLS-1$
-							.toString(collection.size())}));
-					break;
-				}
-			}
-		} else {
-			statusLineManager.setMessage("");//$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * This implements {@link org.eclipse.jface.action.IMenuListener}to help
-	 * fill the context menus with contributions from the Edit menu. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void menuAboutToShow(IMenuManager menuManager) {
-		((IMenuListener) getEditorSite().getActionBarContributor())
-			.menuAboutToShow(menuManager);
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public EditingDomainActionBarContributor getActionBarContributor() {
-		return (EditingDomainActionBarContributor) getEditorSite()
-			.getActionBarContributor();
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public IActionBars getActionBars() {
-		return getActionBarContributor().getActionBars();
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public AdapterFactory getAdapterFactory() {
-		return adapterFactory;
-	}
-
-	/**
-	 * 
-	 */
-	public String getContributorId() {
-		return "org.eclipse.ui.examples.views.properties.tabbed.hockeyleague";//$NON-NLS-1$
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void dispose() {
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(
-			resourceChangeListener);
-
-		getSite().getPage().removePartListener(partListener);
-
-		adapterFactory.dispose();
-
-		getActionBarContributor().setActiveEditor(null);
-
-		if (getPropertySheetPage() != null) {
-			getPropertySheetPage().dispose();
-		}
-
-		if (contentOutlinePage != null) {
-			contentOutlinePage.dispose();
-		}
-
-		super.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/HockeyleagueLabelProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/HockeyleagueLabelProvider.java
deleted file mode 100644
index ea0bb60..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/HockeyleagueLabelProvider.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor.HockeyleagueEditor;
-
-/**
- * Label provider for the title bar for the tabbed property sheet page.
- * 
- * @author Anthony Hunter
- */
-public class HockeyleagueLabelProvider
-	extends LabelProvider {
-
-	private AdapterFactoryLabelProvider adapterFactoryLabelProvider;
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object element) {
-		if (element == null || element.equals(StructuredSelection.EMPTY)) {
-			return null;
-		}
-		if (element instanceof IStructuredSelection) {
-			IStructuredSelection structuredSelection = (IStructuredSelection) element;
-			if (areDifferentTypes(structuredSelection)) {
-				return null;
-			}
-			element = structuredSelection.getFirstElement();
-		}
-		if (element instanceof EObject || element instanceof Resource) {
-			return getAdapterFactoryLabelProvider().getImage(element);
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-	 */
-	public String getText(Object element) {
-		if (element == null || element.equals(StructuredSelection.EMPTY)) {
-			return null;
-		}
-		int size = 1;
-		if (element instanceof IStructuredSelection) {
-			IStructuredSelection structuredSelection = (IStructuredSelection) element;
-			if (areDifferentTypes(structuredSelection)) {
-				return structuredSelection.size() + " items selected";//$NON-NLS-1$
-			}
-			element = structuredSelection.getFirstElement();
-			size = structuredSelection.size();
-		}
-		if (element instanceof EObject) {
-			String split[] = getAdapterFactoryLabelProvider().getText(element)
-				.split(" ");//$NON-NLS-1$
-			StringBuffer type = new StringBuffer();
-			StringBuffer name = new StringBuffer();
-			for (int i = 0; i < split.length; i++) {
-				if (i == 0) {
-					type.append('\u00AB');
-					type.append(split[i]);
-					if (!(element instanceof PlayerStats || element instanceof GoalieStats)) {
-						type.append('\u00BB');
-					}
-				} else if ((i == 1 && (element instanceof PlayerStats || element instanceof GoalieStats))) {
-					type.append(' ');
-					type.append(split[i]);
-					type.append('\u00BB');
-				} else {
-					name.append(split[i]);
-					name.append(' ');
-				}
-			}
-			if (size == 1) {
-				type.append(' ');
-				type.append(name);
-			} else {
-				type.append(' ');
-				type.append(Integer.toString(size));
-				type.append(" selected");//$NON-NLS-1$
-			}
-			return type.toString();
-		} else if (element instanceof Resource) {
-			return "\u00ABResource\u00BB";//$NON-NLS-1$
-		}
-		return null;
-	}
-
-	/**
-	 * @return
-	 */
-	private AdapterFactoryLabelProvider getAdapterFactoryLabelProvider() {
-		if (adapterFactoryLabelProvider == null) {
-			adapterFactoryLabelProvider = new AdapterFactoryLabelProvider(
-				((HockeyleagueEditor) PlatformUI.getWorkbench()
-					.getActiveWorkbenchWindow().getActivePage()
-					.getActiveEditor()).getAdapterFactory());
-		}
-		return adapterFactoryLabelProvider;
-	}
-
-	/**
-	 * Determine there are objects in the structured selection of different
-	 * types.
-	 * 
-	 * @param structuredSelection
-	 *            the structured selection.
-	 * @return true if there are objects of different types in the selection.
-	 */
-	private boolean areDifferentTypes(IStructuredSelection structuredSelection) {
-		if (structuredSelection.size() == 1) {
-			return false;
-		}
-		Iterator i = structuredSelection.iterator();
-		Object element = i.next();
-		for (; i.hasNext();) {
-			if (i.next().getClass() != element.getClass()) {
-				return true;
-			}
-		}
-
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/HockeyleaguePropertySheetPage.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/HockeyleaguePropertySheetPage.java
deleted file mode 100644
index 306c543..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/HockeyleaguePropertySheetPage.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor.HockeyleagueEditor;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * This is the property sheet page for the Hockeyleague model editor.
- * 
- * @author Anthony Hunter
- */
-public class HockeyleaguePropertySheetPage
-	extends TabbedPropertySheetPage {
-
-	/**
-	 * the hockey league model editor.
-	 */
-	protected HockeyleagueEditor editor;
-
-	/**
-	 * Contructor for this property sheet page.
-	 * 
-	 * @param tabbedPropertySheetPageContributor
-	 *            the editor contributor of the property sheet page.
-	 */
-	public HockeyleaguePropertySheetPage(HockeyleagueEditor editor) {
-		super(editor);
-		this.editor = editor;
-	}
-
-	/**
-	 * Get the EMF AdapterFactory for this editor.
-	 * 
-	 * @return the EMF AdapterFactory for this editor.
-	 */
-	public HockeyleagueEditor getEditor() {
-		return editor;
-	}
-
-	/**
-	 * Get the EMF AdapterFactory for this editor.
-	 * 
-	 * @return the EMF AdapterFactory for this editor.
-	 */
-	public AdapterFactory getAdapterFactory() {
-		return editor.getAdapterFactory();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/TextChangeHelper.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/TextChangeHelper.java
deleted file mode 100644
index 3718510..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/TextChangeHelper.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-
-/**
- * TextChangeHelper notifies the listner of text lifecycle events 
- * on behalf of the widget(s) it listens to. 
- * 
- * @author Anthony Hunter 
- */
-public abstract class TextChangeHelper implements Listener {
-	
-	private boolean nonUserChange;
-
-	/**
-	 * Marks the start of a programmatic change to the widget contents.
-	 * Clients must call startNonUserChange() before directly setting 
-	 * the widget contents to avoid unwanted lifecycle events.
-	 * @throws IllegalArgumentException if a programmatic change is 
-	 * already in progress.
-	 */
-	public void startNonUserChange() {
-		if (nonUserChange)
-			throw new IllegalStateException("we already started a non user change");//$NON-NLS-1$
-		nonUserChange = true;
-	}
-
-	/**
-	 * Clients who call startNonUserChange() should call 
-	 * finishNonUserChange() as soon as possible after the change is done.
-	 * @throws IllegalArgumentException if no change is in progress.
-	 */
-	public void finishNonUserChange() {
-		if (!nonUserChange)
-			throw new IllegalStateException("we are not in a non user change");//$NON-NLS-1$
-		nonUserChange = false;
-	}
-
-	/**
-	 * Determine if a programmatic change is in progress.
-	 * @return <code>true</code> if a programmatic change is in progress.
-	 */
-	public boolean isNonUserChange() {
-		return nonUserChange;
-	}
-
-	/**
-	 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-	 */
-	public void handleEvent(Event event) {
-		switch (event.type) {
-			case SWT.KeyDown :
-				if (event.character == SWT.CR)
-					textChanged((Control)event.widget);
-				break;
-			case SWT.FocusOut :
-				textChanged((Control)event.widget);
-				break;
-		}
-	}
-
-	/**
-	 * Abstract method notified when a text field has been changed.
-	 * @param control the given control.
-	 */
-	public abstract void textChanged(Control control);
-
-	/**
-	 * Registers this helper with the given control to listen for events
-	 * which indicate that a change is in progress (or done).
-	 * @param control the given control.
-	 */
-	public void startListeningTo(Control control) {
-		control.addListener(SWT.FocusOut, this);
-		control.addListener(SWT.Modify, this);
-	}
-
-	/**
-	 * Registers this helper with the given control to listen for the
-	 * Enter key.  When Enter is pressed, the change is considered done 
-	 * (this is only appropriate for single-line Text widgets).
-	 * @param control the given control.
-	 */
-	public void startListeningForEnter(Control control) {
-		// NOTE: KeyDown rather than KeyUp, because of similar usage in CCombo. 
-		control.addListener(SWT.KeyDown, this);
-	}
-
-	/**
-	 * Unregisters this helper from a control previously passed to
-	 * startListeningTo() and/or startListeningForEnter().
-	 * @param control the given control.
-	 */
-	public void stopListeningTo(Control control) {
-		if ((control != null) && !control.isDisposed()) {
-			control.removeListener(SWT.FocusOut, this);
-			control.removeListener(SWT.Modify, this);
-			control.removeListener(SWT.KeyDown, this);
-		}
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractEnumerationPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractEnumerationPropertySection.java
deleted file mode 100644
index 5a08f79..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractEnumerationPropertySection.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.common.command.CompoundCommand;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.edit.command.SetCommand;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor.HockeyleagueEditor;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * An abstract implementation of a section with a enumeration field using a
- * combo box (pulldown).
- * 
- * @author Anthony Hunter
- */
-public abstract class AbstractEnumerationPropertySection
-	extends AbstractHockeyleaguePropertySection {
-
-	/**
-	 * the combo box control for the section.
-	 */
-	protected CCombo combo;
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage aTabbedPropertySheetPage) {
-		super.createControls(parent, aTabbedPropertySheetPage);
-		Composite composite = getWidgetFactory()
-			.createFlatFormComposite(parent);
-		FormData data;
-
-		combo = getWidgetFactory().createCCombo(composite); 
-		data = new FormData();
-		data.left = new FormAttachment(0, getStandardLabelWidth(composite,
-			new String[] {getLabelText()}));
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, ITabbedPropertyConstants.VSPACE);
-		combo.setLayoutData(data);
-
-		CLabel nameLabel = getWidgetFactory().createCLabel(composite,
-			getLabelText());
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(combo, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(combo, 0, SWT.CENTER);
-		nameLabel.setLayoutData(data);
-
-		combo.addSelectionListener(new SelectionAdapter() {
-
-			public void widgetSelected(SelectionEvent event) {
-				handleComboModified();
-			}
-		});
-	}
-
-	/**
-	 * Handle the combo modified event.
-	 */
-	protected void handleComboModified() {
-
-		int index = combo.getSelectionIndex();
-		boolean equals = isEqual(index);
-		if (!equals) {
-			EditingDomain editingDomain = ((HockeyleagueEditor) getPart())
-				.getEditingDomain();
-			Object value = getFeatureValue(index);
-			if (eObjectList.size() == 1) {
-				/* apply the property change to single selected object */
-				editingDomain.getCommandStack().execute(
-					SetCommand.create(editingDomain, eObject, getFeature(),
-						value));
-			} else {
-				CompoundCommand compoundCommand = new CompoundCommand();
-				/* apply the property change to all selected elements */
-				for (Iterator i = eObjectList.iterator(); i.hasNext();) {
-					EObject nextObject = (EObject) i.next();
-					compoundCommand.append(SetCommand.create(editingDomain,
-						nextObject, getFeature(), value));
-				}
-				editingDomain.getCommandStack().execute(compoundCommand);
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#refresh()
-	 */
-	public void refresh() {
-		combo.setItems(getEnumerationFeatureValues());
-		combo.setText(getFeatureAsText());
-	}
-
-	/**
-	 * Determine if the provided index of the enumeration is equal to the
-	 * current setting of the enumeration property.
-	 * 
-	 * @param index
-	 *            the new index in the enumeration.
-	 * @return <code>true</code> if the new index value is equal to the
-	 *         current property setting.
-	 */
-	protected abstract boolean isEqual(int index);
-
-	/**
-	 * Get the feature for the combo field for the section.
-	 * 
-	 * @return the feature for the text.
-	 */
-	protected abstract EAttribute getFeature();
-
-	/**
-	 * Get the enumeration values of the feature for the combo field for the
-	 * section.
-	 * 
-	 * @return the list of values of the feature as text.
-	 */
-	protected abstract String[] getEnumerationFeatureValues();
-
-	/**
-	 * Get the value of the feature as text for the combo field for the section.
-	 * 
-	 * @return the value of the feature as text.
-	 */
-	protected abstract String getFeatureAsText();
-
-	/**
-	 * Get the new value of the feature for the text field for the section.
-	 * 
-	 * @param index
-	 *            the new index in the enumeration.
-	 * @return the new value of the feature.
-	 */
-	protected abstract Object getFeatureValue(int index);
-
-	/**
-	 * Get the label for the combo field for the section.
-	 * 
-	 * @return the label for the text field.
-	 */
-	protected abstract String getLabelText();
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractHockeyleaguePropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractHockeyleaguePropertySection.java
deleted file mode 100644
index 1d4e2dc..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractHockeyleaguePropertySection.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.HockeyleaguePropertySheetPage;
-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * An abstract implementation of a section in a tab in the tabbed property sheet
- * page for the hockey league example.
- * 
- * @author Anthony Hunter
- */
-public abstract class AbstractHockeyleaguePropertySection
-	extends AbstractPropertySection {
-
-	/**
-	 * the property sheet page for this section.
-	 */
-	protected HockeyleaguePropertySheetPage propertySheetPage;
-
-	/**
-	 * The current selected object or the first object in the selection when
-	 * multiple objects are selected.
-	 */
-	protected EObject eObject;
-
-	/**
-	 * The list of current selected objects.
-	 */
-	protected List eObjectList;
-
-	/**
-	 * Get the standard label width when labels for sections line up on the left
-	 * hand side of the composite. We line up to a fixed position, but if a
-	 * string is wider than the fixed position, then we use that widest string.
-	 * 
-	 * @param parent
-	 *            The parent composite used to create a GC.
-	 * @param labels
-	 *            The list of labels.
-	 * @return the standard label width.
-	 */
-	protected int getStandardLabelWidth(Composite parent, String[] labels) {
-		int standardLabelWidth = STANDARD_LABEL_WIDTH;
-		GC gc = new GC(parent);
-		int indent = gc.textExtent("XXX").x; //$NON-NLS-1$
-		for (int i = 0; i < labels.length; i++) {
-			int width = gc.textExtent(labels[i]).x;
-			if (width + indent > standardLabelWidth) {
-				standardLabelWidth = width + indent;
-			}
-		}
-		gc.dispose();
-		return standardLabelWidth;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage aTabbedPropertySheetPage) {
-		super.createControls(parent, aTabbedPropertySheetPage);
-		this.propertySheetPage = (HockeyleaguePropertySheetPage) aTabbedPropertySheetPage;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#setInput(org.eclipse.ui.IWorkbenchPart,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void setInput(IWorkbenchPart part, ISelection selection) {
-		super.setInput(part, selection);
-		if (!(selection instanceof IStructuredSelection)) {
-			return;
-		}
-		if (((IStructuredSelection) selection).getFirstElement() instanceof EObject) {
-			eObject = (EObject) ((IStructuredSelection) selection)
-				.getFirstElement();
-			eObjectList = ((IStructuredSelection) selection).toList();
-		}
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractIntegerPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractIntegerPropertySection.java
deleted file mode 100644
index 86f6708..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractIntegerPropertySection.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-/**
- * An abstract implementation of a section for a field with a String property
- * value.
- * 
- * @author Anthony Hunter
- */
-public abstract class AbstractIntegerPropertySection
-	extends AbstractTextPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#isEqual(java.lang.String)
-	 */
-	protected boolean isEqual(String newText) {
-		try {
-			Integer.parseInt(newText);
-		} catch (NumberFormatException e) {
-			refresh();
-			return true;
-		}
-		Integer integer = new Integer(Integer.parseInt(newText)); 
-		return getFeatureInteger().equals(integer);
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getFeatureAsText()
-	 */
-	protected String getFeatureAsText() {
-		return getFeatureInteger().toString();
-	}
-
-	/**
-	 * Get the text value of the feature for the text field for the section.
-	 * 
-	 * @return the text value of the feature.
-	 */
-	protected abstract Integer getFeatureInteger();
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getFeatureValue(java.lang.String)
-	 */
-	protected Object getFeatureValue(String newText) {
-		return new Integer(Integer.parseInt(newText));
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractMeasurementPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractMeasurementPropertySection.java
deleted file mode 100644
index 056970b..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractMeasurementPropertySection.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.common.command.CompoundCommand;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.edit.command.SetCommand;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor.HockeyleagueEditor;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * An abstract implementation of a section for measurements. There is a text
- * field for the mesurement value and a radio box for the measurement units. For
- * example, weight in either pounds or kilograms.
- * 
- * @author Anthony Hunter
- */
-public abstract class AbstractMeasurementPropertySection
-	extends AbstractIntegerPropertySection {
-
-	/**
-	 * the left radio button for the section.
-	 */
-	protected Button radioLeft;
-
-	/**
-	 * the right radio button for the section.
-	 */
-	protected Button radioRight;
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage aTabbedPropertySheetPage) {
-		super.createControls(parent, aTabbedPropertySheetPage);
-		Composite composite = getWidgetFactory()
-			.createFlatFormComposite(parent);
-
-		String[] labels = getEnumerationLabels();
-
-		radioLeft = getWidgetFactory().createButton(composite, labels[0],
-			SWT.RADIO);
-		FormData data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.top = new FormAttachment(0, ITabbedPropertyConstants.VSPACE);
-		radioLeft.setLayoutData(data);
-
-		radioRight = getWidgetFactory().createButton(composite, labels[1],
-			SWT.RADIO);
-		data = new FormData();
-		data.left = new FormAttachment(radioLeft,
-			ITabbedPropertyConstants.HSPACE);
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, ITabbedPropertyConstants.VSPACE);
-		radioRight.setLayoutData(data);
-
-		SelectionListener selectionListener = new SelectionListener() {
-
-			public void widgetSelected(SelectionEvent e) {
-				handleRadioModified(((Button) e.getSource()));
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-
-		};
-
-		radioLeft.addSelectionListener(selectionListener);
-		radioRight.addSelectionListener(selectionListener);
-	}
-
-	/**
-	 * Handle the radio box modified event.
-	 */
-	protected void handleRadioModified(Button button) {
-
-		int index;
-		if (button == radioLeft) {
-			index = 0;
-		} else {
-			index = 1;
-		}
-		boolean equals = isEnumerationEqual(index);
-		if (!equals) {
-			EditingDomain editingDomain = ((HockeyleagueEditor) getPart())
-				.getEditingDomain();
-			Object value = getEnumerationFeatureValue(index);
-			if (eObjectList.size() == 1) {
-				/* apply the property change to single selected object */
-				editingDomain.getCommandStack().execute(
-					SetCommand.create(editingDomain, eObject,
-						getEnumerationFeature(), value));
-			} else {
-				CompoundCommand compoundCommand = new CompoundCommand();
-				/* apply the property change to all selected elements */
-				for (Iterator i = eObjectList.iterator(); i.hasNext();) {
-					EObject nextObject = (EObject) i.next();
-					compoundCommand.append(SetCommand.create(editingDomain,
-						nextObject, getEnumerationFeature(), value));
-				}
-				editingDomain.getCommandStack().execute(compoundCommand);
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#refresh()
-	 */
-	public void refresh() {
-		super.refresh();
-		if (getEnumerationIndex() == 0) {
-			radioLeft.setSelection(true);
-			radioRight.setSelection(false);
-		} else {
-			radioLeft.setSelection(false);
-			radioRight.setSelection(true);
-		}
-
-	}
-
-	/**
-	 * Determine if the provided index of the enumeration is equal to the
-	 * current setting of the enumeration property.
-	 * 
-	 * @param index
-	 *            the new index in the enumeration.
-	 * @return <code>true</code> if the new index value is equal to the
-	 *         current property setting.
-	 */
-	protected abstract boolean isEnumerationEqual(int index);
-
-	/**
-	 * Get the feature for the enumeration field for the section.
-	 * 
-	 * @return the feature for the text.
-	 */
-	protected abstract EAttribute getEnumerationFeature();
-
-	/**
-	 * Get the enumeration values of the feature for the radio field for the
-	 * section.
-	 * 
-	 * @return the list of values of the feature as text.
-	 */
-	protected abstract String[] getEnumerationLabels();
-
-	/**
-	 * Get the index value of the feature for the radio field for the section.
-	 * 
-	 * @return the index value of the feature.
-	 */
-	protected abstract int getEnumerationIndex();
-
-	/**
-	 * Get the new value of the feature for the text field for the section.
-	 * 
-	 * @param index
-	 *            the new index in the enumeration.
-	 * @return the new value of the feature.
-	 */
-	protected abstract Object getEnumerationFeatureValue(int index);
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractPlayersPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractPlayersPropertySection.java
deleted file mode 100644
index f977017..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractPlayersPropertySection.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player;
-
-/**
- * The abstract implementation for a players table section.
- * 
- * @author Anthony Hunter
- */
-public abstract class AbstractPlayersPropertySection
-	extends AbstractTablePropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getColumnLabelText()
-	 */
-	protected List getColumnLabelText() {
-		ArrayList ret = new ArrayList();
-		ret.add("Name");//$NON-NLS-1$
-		ret.add("Jersey Number");//$NON-NLS-1$
-		ret.add("Shot");//$NON-NLS-1$
-		ret.addAll(getAdditionalColumnLabelText());
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getKeyForRow(java.lang.Object)
-	 */
-	protected String getKeyForRow(Object object) {
-		return ((Player) object).getName();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getValuesForRow(java.lang.Object)
-	 */
-	protected List getValuesForRow(Object object) {
-		ArrayList ret = new ArrayList();
-		ret.add(((Player) object).getName());
-		ret.add(Integer.toString(((Player) object).getNumber()));
-		ret.add(((Player) object).getShot().getName());
-		ret.addAll(getAdditionalValuesForRow(object));
-		return ret;
-	}
-
-	/**
-	 * Get the labels for the additional columns for the table.
-	 * 
-	 * @return the labels for the columns.
-	 */
-	protected abstract List getAdditionalColumnLabelText();
-	
-	/**
-	 * Get the additional values for the row in the table.
-	 * 
-	 * @param object
-	 *            an object in the row of the table.
-	 * @return the list of string values for the row.
-	 */
-	protected abstract List getAdditionalValuesForRow(Object object);
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractStringPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractStringPropertySection.java
deleted file mode 100644
index 3185108..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractStringPropertySection.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-
-/**
- * An abstract implementation of a section for a field with a String property
- * value.
- * 
- * @author Anthony Hunter
- */
-public abstract class AbstractStringPropertySection
-	extends AbstractTextPropertySection {
-	
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#isEqual(java.lang.String)
-	 */
-	protected boolean isEqual(String newText) {
-		return getFeatureAsText().equals(newText);
-	}
-	
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getFeatureAsText()
-	 */
-	protected String getFeatureAsText() {
-		String string = (String)eObject.eGet(getFeature());
-		if (string == null) {
-			return "";//$NON-NLS-1$
-		}
-		return string;
-	}
-	
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getFeatureValue(java.lang.String)
-	 */
-	protected Object getFeatureValue(String newText) {
-		return newText;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractTablePropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractTablePropertySection.java
deleted file mode 100644
index 245b7e0..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractTablePropertySection.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.edit.command.AddCommand;
-import org.eclipse.emf.edit.command.RemoveCommand;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.dialogs.HockeyleagueSetDefaultsDialog;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor.HockeyleagueEditor;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * An abstract implementation of a section with a table field with add and
- * remove buttons.
- * 
- * @author Anthony Hunter
- */
-public abstract class AbstractTablePropertySection
-	extends AbstractHockeyleaguePropertySection {
-
-	/**
-	 * the table control for the section.
-	 */
-	protected Table table;
-
-	/**
-	 * the title columns for the section.
-	 */
-	protected List columns;
-
-	/**
-	 * the add button for the section.
-	 */
-	protected Button addButton;
-
-	/**
-	 * the remove button for the section.
-	 */
-	protected Button removeButton;
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage aTabbedPropertySheetPage) {
-		super.createControls(parent, aTabbedPropertySheetPage);
-		Composite composite = getWidgetFactory()
-			.createFlatFormComposite(parent);
-		FormData data;
-
-		table = getWidgetFactory().createTable(composite,
-			SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
-		table.setHeaderVisible(true);
-		table.setLinesVisible(true);
-
-		List labels = getColumnLabelText();
-		columns = new ArrayList();
-
-		for (Iterator i = labels.iterator(); i.hasNext();) {
-			TableColumn column = new TableColumn(table, SWT.NONE);
-			column.setText((String) i.next());
-			columns.add(column);
-		}
-
-		Shell shell = new Shell();
-		GC gc = new GC(shell);
-		gc.setFont(shell.getFont());
-		Point point = gc.textExtent("");//$NON-NLS-1$
-		int buttonHeight = point.y + 11;
-		gc.dispose();
-		shell.dispose();
-
-		addButton = getWidgetFactory().createButton(composite,
-			MessageFormat.format("Add {0}...",//$NON-NLS-1$
-				new String[] {getButtonLabelText()}), SWT.PUSH);
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.bottom = new FormAttachment(100, 0);
-		data.top = new FormAttachment(100, -buttonHeight);
-		addButton.setLayoutData(data);
-		addButton.addSelectionListener(new SelectionAdapter() {
-
-			public void widgetSelected(SelectionEvent event) {
-				EditingDomain editingDomain = ((HockeyleagueEditor) getPart())
-					.getEditingDomain();
-				AddCommand addCommand = (AddCommand) AddCommand.create(
-					editingDomain, eObject, getFeature(), getNewChild());
-				HockeyleagueSetDefaultsDialog dialog = new HockeyleagueSetDefaultsDialog(
-					PlatformUI.getWorkbench().getActiveWorkbenchWindow()
-						.getShell(), addCommand);
-				dialog.open();
-				if (dialog.getReturnCode() == Window.CANCEL) {
-					return;
-				}
-				editingDomain.getCommandStack().execute(addCommand);
-			}
-		});
-
-		removeButton = getWidgetFactory().createButton(composite,
-			MessageFormat.format("Delete {0}",//$NON-NLS-1$
-				new String[] {getButtonLabelText()}), SWT.PUSH);
-		data = new FormData();
-		data.left = new FormAttachment(addButton,
-			ITabbedPropertyConstants.VSPACE, SWT.BOTTOM);
-		data.bottom = new FormAttachment(100, 0);
-		data.top = new FormAttachment(100, -buttonHeight);
-		removeButton.setLayoutData(data);
-		removeButton.addSelectionListener(new SelectionAdapter() {
-
-			public void widgetSelected(SelectionEvent event) {
-				EditingDomain editingDomain = ((HockeyleagueEditor) getPart())
-					.getEditingDomain();
-				Object object = table.getSelection()[0].getData();
-				editingDomain.getCommandStack().execute(
-					RemoveCommand.create(editingDomain, object));
-			}
-		});
-
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, ITabbedPropertyConstants.VSPACE);
-		data.bottom = new FormAttachment(addButton,
-			-ITabbedPropertyConstants.VSPACE);
-		data.width = 400;
-		table.setLayoutData(data);
-
-		table.addSelectionListener(new SelectionAdapter() {
-
-			public void widgetSelected(SelectionEvent event) {
-				removeButton.setEnabled(true);
-			}
-		});
-		table.addMouseListener(new MouseAdapter() {
-
-			public void mouseDoubleClick(MouseEvent e) {
-				Object object = table.getSelection()[0].getData();
-				propertySheetPage.getEditor().getViewer().setSelection(
-					new StructuredSelection(object), true);
-				propertySheetPage.getEditor().setFocus();
-			}
-		});
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#shouldUseExtraSpace()
-	 */
-	public boolean shouldUseExtraSpace() {
-		return true;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#refresh()
-	 */
-	public void refresh() {
-		table.removeAll();
-		removeButton.setEnabled(false);
-
-		for (Iterator i = getOwnedRows().iterator(); i.hasNext();) {
-			Object next = i.next();
-			String key = getKeyForRow(next);
-
-			// find index (for sorting purposes)
-			int k = 0;
-			int size = table.getItemCount();
-			while (k < size) {
-				String currentKey = table.getItem(k).getText();
-				if (key.compareToIgnoreCase(currentKey) < 0) {
-					break;
-				}
-				k++;
-			}
-
-			// create the table item
-			TableItem item = new TableItem(table, SWT.NONE, k);
-			String[] values = new String[columns.size()];
-			List valuesForRow = getValuesForRow(next);
-			for (int j = 0; j < columns.size(); j++) {
-				values[j] = (String) valuesForRow.get(j);
-			}
-			item.setText(values);
-			item.setData(next);
-		}
-
-		for (Iterator i = columns.iterator(); i.hasNext();) {
-			((TableColumn) i.next()).pack();
-		}
-	}
-
-	/**
-	 * Get the text for the labels that will be used for the Add and Remove
-	 * buttons.
-	 * 
-	 * @return the label text.
-	 */
-	protected abstract String getButtonLabelText();
-
-	/**
-	 * Get the row objects for the table.
-	 * 
-	 * @return the list of the row objects.
-	 */
-	protected abstract List getOwnedRows();
-
-	/**
-	 * Get the feature for the table field for the section.
-	 * 
-	 * @return the feature for the table.
-	 */
-	protected abstract EReference getFeature();
-
-	/**
-	 * Get the key for the table that is used for sorting. Usually the table is
-	 * sorted by Name or some key string..
-	 * 
-	 * @param object
-	 *            an object in the row of the table.
-	 * @return the string for the key.
-	 */
-	protected abstract String getKeyForRow(Object object);
-
-	/**
-	 * Get the values for the row in the table.
-	 * 
-	 * @param object
-	 *            an object in the row of the table.
-	 * @return the list of string values for the row.
-	 */
-	protected abstract List getValuesForRow(Object object);
-
-	/**
-	 * Get the labels for the columns for the table.
-	 * 
-	 * @return the labels for the columns.
-	 */
-	protected abstract List getColumnLabelText();
-
-	/**
-	 * Get a new child instance for the result of clicking the add button.
-	 * 
-	 * @return a new child instance.
-	 */
-	protected abstract Object getNewChild();
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractTextPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractTextPropertySection.java
deleted file mode 100644
index 5be7e85..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AbstractTextPropertySection.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.common.command.CompoundCommand;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.edit.command.SetCommand;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.editor.HockeyleagueEditor;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.TextChangeHelper;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * An abstract implementation of a section with a text field.
- * 
- * @author Anthony Hunter
- */
-public abstract class AbstractTextPropertySection
-	extends AbstractHockeyleaguePropertySection {
-
-	/**
-	 * the text control for the section.
-	 */
-	protected Text text;
-
-	/**
-	 * A helper to listen for events that indicate that a text field has been
-	 * changed.
-	 */
-	protected TextChangeHelper listener;
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage tabbedPropertySheetPage) {
-		super.createControls(parent, tabbedPropertySheetPage);
-		Composite composite = getWidgetFactory()
-			.createFlatFormComposite(parent);
-		FormData data;
-
-		text = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, getStandardLabelWidth(composite,
-			new String[] {getLabelText()}));
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, ITabbedPropertyConstants.VSPACE);
-		text.setLayoutData(data);
-
-		CLabel nameLabel = getWidgetFactory().createCLabel(composite,
-			getLabelText());
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(text, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(text, 0, SWT.CENTER);
-		nameLabel.setLayoutData(data);
-
-		listener = new TextChangeHelper() {
-
-			public void textChanged(Control control) {
-				handleTextModified();
-			}
-		};
-		listener.startListeningTo(text);
-		listener.startListeningForEnter(text);
-	}
-
-	/**
-	 * Handle the text modified event.
-	 */
-	protected void handleTextModified() {
-		String newText = text.getText();
-		boolean equals = isEqual(newText);
-		if (!equals) {
-			EditingDomain editingDomain = ((HockeyleagueEditor) getPart())
-				.getEditingDomain();
-			Object value = getFeatureValue(newText);
-			if (eObjectList.size() == 1) {
-				/* apply the property change to single selected object */
-				editingDomain.getCommandStack().execute(
-					SetCommand.create(editingDomain, eObject, getFeature(),
-						value));
-			} else {
-				CompoundCommand compoundCommand = new CompoundCommand();
-				/* apply the property change to all selected elements */
-				for (Iterator i = eObjectList.iterator(); i.hasNext();) {
-					EObject nextObject = (EObject) i.next();
-					compoundCommand.append(SetCommand.create(editingDomain,
-						nextObject, getFeature(), value));
-				}
-				editingDomain.getCommandStack().execute(compoundCommand);
-			}
-		}
-	}
-
-	/*
-	 * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh() {
-		text.setText(getFeatureAsText());
-	}
-
-	/**
-	 * Determine if the provided string value is an equal representation of the
-	 * current setting of the text property.
-	 * 
-	 * @param newText
-	 *            the new string value.
-	 * @return <code>true</code> if the new string value is equal to the
-	 *         current property setting.
-	 */
-	protected abstract boolean isEqual(String newText);
-
-	/**
-	 * Get the feature for the text field for the section.
-	 * 
-	 * @return the feature for the text.
-	 */
-	protected abstract EAttribute getFeature();
-
-	/**
-	 * Get the value of the feature as text for the text field for the section.
-	 * 
-	 * @return the value of the feature as text.
-	 */
-	protected abstract String getFeatureAsText();
-
-	/**
-	 * Get the new value of the feature for the text field for the section.
-	 * 
-	 * @param newText
-	 *            the new value of the feature as a string.
-	 * @return the new value of the feature.
-	 */
-	protected abstract Object getFeatureValue(String newText);
-
-	/**
-	 * Get the label for the text field for the section.
-	 * 
-	 * @return the label for the text field.
-	 */
-	protected abstract String getLabelText();
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AddressPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AddressPropertySection.java
deleted file mode 100644
index 7dc1eb1..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AddressPropertySection.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-/**
- * A section for the address property of a selected Arena Object.
- * 
- * @author Anthony Hunter
- */
-public class AddressPropertySection
-	extends AbstractStringPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getArena_Address();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Address:"; //$NON-NLS-1$
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AdvancedPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AdvancedPropertySection.java
deleted file mode 100644
index 7d4b75d..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/AdvancedPropertySection.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.HockeyleaguePropertySheetPage;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * Advanced property section.
- * 
- * @author Anthony Hunter
- */
-public class AdvancedPropertySection
-	extends org.eclipse.ui.views.properties.tabbed.AdvancedPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ISection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage tabbedPropertySheetPage) {
-		super.createControls(parent, tabbedPropertySheetPage);
-		HockeyleaguePropertySheetPage hockeyleaguePropertySheetPage = (HockeyleaguePropertySheetPage) tabbedPropertySheetPage;
-		page.setPropertySourceProvider(new AdapterFactoryContentProvider(
-			hockeyleaguePropertySheetPage.getAdapterFactory()));
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/BirthDatePropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/BirthDatePropertySection.java
deleted file mode 100644
index b5da321..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/BirthDatePropertySection.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-/**
- * A section for the birth date property of a selected player Object.
- * 
- * @author Anthony Hunter
- */
-public class BirthDatePropertySection
-	extends AbstractStringPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getPlayer_Birthdate();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Birth Date:";//$NON-NLS-1$
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/BirthPlacePropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/BirthPlacePropertySection.java
deleted file mode 100644
index 6234258..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/BirthPlacePropertySection.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-/**
- * A section for the birth place property of a selected player Object.
- * 
- * @author Anthony Hunter
- */
-public class BirthPlacePropertySection
-	extends AbstractStringPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getPlayer_Birthplace();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Birth Place:";//$NON-NLS-1$
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/CapacityPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/CapacityPropertySection.java
deleted file mode 100644
index d58b543..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/CapacityPropertySection.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-
-/**
- * A section for the capacity property of a selected Arena Object.
- * 
- * @author Anthony Hunter
- */
-public class CapacityPropertySection
-	extends AbstractIntegerPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getArena_Capacity();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getFeatureText()
-	 */
-	protected Integer getFeatureInteger() {
-		Arena arena = (Arena) eObject;
-		return new Integer(arena.getCapacity());
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Capacity:";//$NON-NLS-1$
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/DefencePositionPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/DefencePositionPropertySection.java
deleted file mode 100644
index eeeadf5..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/DefencePositionPropertySection.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-/**
- * A section for the position property of a selected defence player Object.
- * 
- * @author Anthony Hunter
- */
-public class DefencePositionPropertySection
-	extends AbstractEnumerationPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getDefence_Position();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getFeatureAsText()
-	 */
-	protected String getFeatureAsText() {
-		return ((Defence) eObject).getPosition().getName();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getFeatureValue(int)
-	 */
-	protected Object getFeatureValue(int index) {
-		return DefencePositionKind.VALUES.get(index);
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Position:";//$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#isEqual(int)
-	 */
-	protected boolean isEqual(int index) {
-		return DefencePositionKind.VALUES.get(index).equals(
-			((Defence) eObject).getPosition());
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getEnumerationFeatureValues()
-	 */
-	protected String[] getEnumerationFeatureValues() {
-		List values = DefencePositionKind.VALUES;
-		String[] ret = new String[values.size()];
-		for (int i = 0; i < values.size(); i++) {
-			ret[i] = ((DefencePositionKind) values.get(i)).getName();
-		}
-		return ret;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/DefencemenPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/DefencemenPropertySection.java
deleted file mode 100644
index 9da352d..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/DefencemenPropertySection.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-
-/**
- * The defencemen section.
- * 
- * @author Anthony Hunter
- */
-public class DefencemenPropertySection
-	extends AbstractPlayersPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getButtonLabelText()
-	 */
-	protected String getButtonLabelText() {
-		return "Defenceman";//$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getOwnedRows()
-	 */
-	protected List getOwnedRows() {
-		ArrayList ret = new ArrayList();
-		for (Iterator i = ((Team) eObject).getDefencemen().iterator(); i
-			.hasNext();) {
-			ret.add(i.next());
-		}
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractPlayersPropertySection#getAdditionalColumnLabelText()
-	 */
-	protected List getAdditionalColumnLabelText() {
-		ArrayList ret = new ArrayList();
-		ret.add("Position");//$NON-NLS-1$
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractPlayersPropertySection#getAdditionalValuesForRow(java.lang.Object)
-	 */
-	protected List getAdditionalValuesForRow(Object object) {
-		ArrayList ret = new ArrayList();
-		ret.add(((Defence) object).getPosition().getName());
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getFeature()
-	 */
-	protected EReference getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getTeam_Defencemen();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getNewChild()
-	 */
-	protected Object getNewChild() {
-		return HockeyleagueFactory.eINSTANCE.createDefence();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ForwardPositionPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ForwardPositionPropertySection.java
deleted file mode 100644
index 521f84e..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ForwardPositionPropertySection.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-/**
- * A section for the position property of a selected forward Object.
- * 
- * @author Anthony Hunter
- */
-public class ForwardPositionPropertySection
-	extends AbstractEnumerationPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getForward_Position();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getFeatureAsText()
-	 */
-	protected String getFeatureAsText() {
-		return ((Forward) eObject).getPosition().getName();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getFeatureValue(int)
-	 */
-	protected Object getFeatureValue(int index) {
-		return ForwardPositionKind.VALUES.get(index);
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Position:";//$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#isEqual(int)
-	 */
-	protected boolean isEqual(int index) {
-		return ForwardPositionKind.VALUES.get(index).equals(
-			((Forward) eObject).getPosition());
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getEnumerationFeatureValues()
-	 */
-	protected String[] getEnumerationFeatureValues() {
-		List values = ForwardPositionKind.VALUES;
-		String[] ret = new String[values.size()];
-		for (int i = 0; i < values.size(); i++) {
-			ret[i] = ((ForwardPositionKind) values.get(i)).getName();
-		}
-		return ret;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ForwardsPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ForwardsPropertySection.java
deleted file mode 100644
index e8e0818..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ForwardsPropertySection.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-
-
-/**
- * The forwards section.
- * 
- * @author Anthony Hunter
- */
-public class ForwardsPropertySection
-	extends AbstractPlayersPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getButtonLabelText()
-	 */
-	protected String getButtonLabelText() {
-		return "Forward";//$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getOwnedRows()
-	 */
-	protected List getOwnedRows() {
-		ArrayList ret = new ArrayList();
-		for (Iterator i = ((Team) eObject).getForwards().iterator(); i
-			.hasNext();) {
-			ret.add(i.next());
-		}
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractPlayersPropertySection#getAdditionalColumnLabelText()
-	 */
-	protected List getAdditionalColumnLabelText() {
-		ArrayList ret = new ArrayList();
-		ret.add("Position");//$NON-NLS-1$
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractPlayersPropertySection#getAdditionalValuesForRow(java.lang.Object)
-	 */
-	protected List getAdditionalValuesForRow(Object object) {
-		ArrayList ret = new ArrayList();
-		ret.add(((Forward) object).getPosition().getName());
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getFeature()
-	 */
-	protected EReference getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getTeam_Forwards();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getNewChild()
-	 */
-	protected Object getNewChild() {
-		return HockeyleagueFactory.eINSTANCE.createForward();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/GoaliesPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/GoaliesPropertySection.java
deleted file mode 100644
index d4baf2e..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/GoaliesPropertySection.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-
-/**
- * The goalies section.
- * 
- * @author Anthony Hunter
- */
-public class GoaliesPropertySection
-	extends AbstractPlayersPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getButtonLabelText()
-	 */
-	protected String getButtonLabelText() {
-		return "Goalie";//$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getOwnedRows()
-	 */
-	protected List getOwnedRows() {
-		ArrayList ret = new ArrayList();
-		for (Iterator i = ((Team) eObject).getGoalies().iterator(); i.hasNext();) {
-			ret.add(i.next());
-		}
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractPlayersPropertySection#getAdditionalColumnLabelText()
-	 */
-	protected List getAdditionalColumnLabelText() {
-		return new ArrayList();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractPlayersPropertySection#getAdditionalValuesForRow(java.lang.Object)
-	 */
-	protected List getAdditionalValuesForRow(Object object) {
-		return new ArrayList();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getFeature()
-	 */
-	protected EReference getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getTeam_Goalies();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getNewChild()
-	 */
-	protected Object getNewChild() {
-		return HockeyleagueFactory.eINSTANCE.createGoalie();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/HeadOfficePropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/HeadOfficePropertySection.java
deleted file mode 100644
index b0c6979..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/HeadOfficePropertySection.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-
-/**
- * A section for the head office property of a selected League Object.
- * 
- * @author Anthony Hunter
- */
-public class HeadOfficePropertySection
-	extends AbstractStringPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getLeague_Headoffice();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Head Office:"; //$NON-NLS-1$
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/HeightPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/HeightPropertySection.java
deleted file mode 100644
index 769d032..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/HeightPropertySection.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player;
-
-/**
- * A section for the height property of a selected player Object.
- * 
- * @author Anthony Hunter
- */
-public class HeightPropertySection
-	extends AbstractMeasurementPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#isEnumerationEqual(int)
-	 */
-	protected boolean isEnumerationEqual(int index) {
-		return HeightKind.VALUES.get(index).equals(
-			((Player) eObject).getHeightMesurement());
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#getEnumerationFeature()
-	 */
-	protected EAttribute getEnumerationFeature() {
-		return HockeyleaguePackage.eINSTANCE.getPlayer_HeightMesurement();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#getEnumerationLabels()
-	 */
-	protected String[] getEnumerationLabels() {
-		List values = HeightKind.VALUES;
-		String[] ret = new String[values.size()];
-		for (int i = 0; i < values.size(); i++) {
-			ret[i] = ((HeightKind) values.get(i)).getName();
-		}
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#getEnumerationIndex()
-	 */
-	protected int getEnumerationIndex() {
-		return ((Player) eObject).getHeightMesurement().getValue();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#getEnumerationFeatureValue(int)
-	 */
-	protected Object getEnumerationFeatureValue(int index) {
-		return HeightKind.VALUES.get(index);
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractIntegerPropertySection#getFeatureInteger()
-	 */
-	protected Integer getFeatureInteger() {
-		return new Integer(((Player) eObject).getHeightValue());
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getPlayer_HeightValue();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Height:";//$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/NamePropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/NamePropertySection.java
deleted file mode 100644
index 491e8c6..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/NamePropertySection.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-
-/**
- * A section for the name property of a selected HockeyleagueObject.
- * 
- * @author Anthony Hunter
- */
-public class NamePropertySection
-	extends AbstractStringPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Name:"; //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getHockeyleagueObject_Name();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/NumberPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/NumberPropertySection.java
deleted file mode 100644
index 8a57364..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/NumberPropertySection.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player;
-
-/**
- * A section for the jersey number property of a selected player Object.
- * 
- * @author Anthony Hunter
- */
-public class NumberPropertySection
-	extends AbstractIntegerPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getPlayer_Number();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getFeatureText()
-	 */
-	protected Integer getFeatureInteger() {
-		return new Integer(((Player) eObject).getNumber());
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractStringPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Jersey Number:";//$NON-NLS-1$
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/PlayerStatsPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/PlayerStatsPropertySection.java
deleted file mode 100644
index d5d3b4d..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/PlayerStatsPropertySection.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats;
-
-/**
- * The player stats section.
- * 
- * @author Anthony Hunter
- */
-public class PlayerStatsPropertySection
-	extends AbstractTablePropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getColumnLabelText()
-	 */
-	protected List getColumnLabelText() {
-		ArrayList ret = new ArrayList();
-		ret.add("Year");//$NON-NLS-1$
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getKeyForRow(java.lang.Object)
-	 */
-	protected String getKeyForRow(Object object) {
-		return ((PlayerStats) object).getYear();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getValuesForRow(java.lang.Object)
-	 */
-	protected List getValuesForRow(Object object) {
-		ArrayList ret = new ArrayList();
-		ret.add(((PlayerStats) object).getYear());
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getButtonLabelText()
-	 */
-	protected String getButtonLabelText() {
-		return "Player Stats";//$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getOwnedRows()
-	 */
-	protected List getOwnedRows() {
-
-		ArrayList ret = new ArrayList();
-		for (Iterator i = (eObject instanceof Defence) ? ((Defence) eObject)
-			.getPlayerStats().iterator()
-			: ((Forward) eObject).getPlayerStats().iterator(); i.hasNext();) {
-			ret.add(i.next());
-		}
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getFeature()
-	 */
-	protected EReference getFeature() {
-		return (eObject instanceof Defence) ? HockeyleaguePackage.eINSTANCE
-			.getDefence_PlayerStats()
-			: HockeyleaguePackage.eINSTANCE.getForward_PlayerStats();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getNewChild()
-	 */
-	protected Object getNewChild() {
-		return HockeyleagueFactory.eINSTANCE.createPlayerStats();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ShotPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ShotPropertySection.java
deleted file mode 100644
index 156919f..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/ShotPropertySection.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind;
-
-/**
- * A section for the shot property of a selected player Object.
- * 
- * @author Anthony Hunter
- */
-public class ShotPropertySection
-	extends AbstractEnumerationPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getPlayer_Shot();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getFeatureAsText()
-	 */
-	protected String getFeatureAsText() {
-		return ((Player) eObject).getShot().getName();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getFeatureValue(int)
-	 */
-	protected Object getFeatureValue(int index) {
-		return ShotKind.VALUES.get(index);
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Shot:";//$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#isEqual(int)
-	 */
-	protected boolean isEqual(int index) {
-		return ShotKind.VALUES.get(index).equals(((Player) eObject).getShot());
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractEnumerationPropertySection#getEnumerationFeatureValues()
-	 */
-	protected String[] getEnumerationFeatureValues() {
-		List values = ShotKind.VALUES;
-		String[] ret = new String[values.size()];
-		for (int i = 0; i < values.size(); i++) {
-			ret[i] = ((ShotKind) values.get(i)).getName();
-		}
-		return ret;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/TeamsPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/TeamsPropertySection.java
deleted file mode 100644
index b6b3303..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/TeamsPropertySection.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-
-/**
- * The teams section in the teams tab for a league.
- * 
- * @author Anthony Hunter
- */
-public class TeamsPropertySection
-	extends AbstractTablePropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getColumnLabelText()
-	 */
-	protected List getColumnLabelText() {
-		ArrayList ret = new ArrayList();
-		ret.add("Name");//$NON-NLS-1$
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getKeyForRow(java.lang.Object)
-	 */
-	protected String getKeyForRow(Object object) {
-		return ((Team) object).getName();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getValuesForRow(java.lang.Object)
-	 */
-	protected List getValuesForRow(Object object) {
-		ArrayList ret = new ArrayList();
-		ret.add(((Team) object).getName());
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getButtonLabelText()
-	 */
-	protected String getButtonLabelText() {
-		return "Team";//$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getOwnedRows()
-	 */
-	protected List getOwnedRows() {
-		ArrayList ret = new ArrayList();
-		for (Iterator i = ((League) eObject).getTeams().iterator(); i.hasNext();) {
-			ret.add(i.next());
-		}
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getFeature()
-	 */
-	protected EReference getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getLeague_Teams();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTablePropertySection#getNewChild()
-	 */
-	protected Object getNewChild() {
-		return HockeyleagueFactory.eINSTANCE.createTeam();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/WeightPropertySection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/WeightPropertySection.java
deleted file mode 100644
index ee68e1a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/properties/sections/WeightPropertySection.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind;
-
-/**
- * A section for the weight property of a selected player Object.
- * 
- * @author Anthony Hunter
- */
-public class WeightPropertySection
-	extends AbstractMeasurementPropertySection {
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#isEnumerationEqual(int)
-	 */
-	protected boolean isEnumerationEqual(int index) {
-		return WeightKind.VALUES.get(index).equals(
-			((Player) eObject).getWeightMesurement());
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#getEnumerationFeature()
-	 */
-	protected EAttribute getEnumerationFeature() {
-		return HockeyleaguePackage.eINSTANCE.getPlayer_WeightMesurement();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#getEnumerationLabels()
-	 */
-	protected String[] getEnumerationLabels() {
-		List values = WeightKind.VALUES;
-		String[] ret = new String[values.size()];
-		for (int i = 0; i < values.size(); i++) {
-			ret[i] = ((WeightKind) values.get(i)).getName();
-		}
-		return ret;
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#getEnumerationIndex()
-	 */
-	protected int getEnumerationIndex() {
-		return ((Player) eObject).getWeightMesurement().getValue();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractMeasurementPropertySection#getEnumerationFeatureValue(int)
-	 */
-	protected Object getEnumerationFeatureValue(int index) {
-		return WeightKind.VALUES.get(index);
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractIntegerPropertySection#getFeatureInteger()
-	 */
-	protected Integer getFeatureInteger() {
-		return new Integer(((Player) eObject).getWeightValue());
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getFeature()
-	 */
-	protected EAttribute getFeature() {
-		return HockeyleaguePackage.eINSTANCE.getPlayer_WeightValue();
-	}
-
-	/**
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.properties.sections.AbstractTextPropertySection#getLabelText()
-	 */
-	protected String getLabelText() {
-		return "Weight:";//$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueFileWizard.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueFileWizard.java
deleted file mode 100644
index db9038f..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueFileWizard.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.wizards;
-
-import java.util.Collections;
-
-import org.eclipse.core.resources.IContainer;
-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.runtime.IProgressMonitor;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.ISetSelectionTarget;
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
-
-/**
- * This is the wizard to create a new Hockeyleague model file.
- * 
- * @author Anthony Hunter
- */
-public class NewHockeyleagueFileWizard
-	extends BasicNewResourceWizard {
-
-	private NewHockeyleagueFileWizardPage mainPage;
-
-	private IStructuredSelection selection;
-
-	private IWorkbench workbench;
-
-	/**
-	 * The framework calls this to create the contents of the wizard.
-	 */
-	public void addPages() {
-		// Create a page, set the title, and the initial model file name.
-		//
-		mainPage = new NewHockeyleagueFileWizardPage("Whatever", selection); //$NON-NLS-1$
-		mainPage.setTitle("Hockey League Example File"); //$NON-NLS-1$
-		mainPage.setDescription("Create a new Tabbed Properties View Hockey League Example File"); //$NON-NLS-1$
-		mainPage.setFileName("example.hockeyleague"); //$NON-NLS-1$
-		addPage(mainPage);
-
-		// Try and get the resource selection to determine a current directory
-		// for the file dialog.
-		//
-		if (selection != null && !selection.isEmpty()) {
-			// Get the resource...
-			//
-			Object selectedElement = selection.iterator().next();
-			if (selectedElement instanceof IResource) {
-				// Get the resource parent, if its a file.
-				//
-				IResource selectedResource = (IResource) selectedElement;
-				if (selectedResource.getType() == IResource.FILE) {
-					selectedResource = selectedResource.getParent();
-				}
-
-				// This gives us a directory...
-				//
-				if (selectedResource instanceof IFolder
-					|| selectedResource instanceof IProject) {
-					// Set this for the container.
-					//
-					mainPage.setContainerFullPath(selectedResource
-						.getFullPath());
-
-					// Make up a unique new name here.
-					//
-					String defaultFilename = "example"; //$NON-NLS-1$
-					String defaultExtension = "hockeyleague"; //$NON-NLS-1$
-					String modelFilename = defaultFilename + "." //$NON-NLS-1$
-						+ defaultExtension;
-					for (int i = 1; ((IContainer) selectedResource)
-						.findMember(modelFilename) != null; ++i) {
-						modelFilename = defaultFilename + i + "." //$NON-NLS-1$
-							+ defaultExtension;
-					}
-					mainPage.setFileName(modelFilename);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Method declared on IWorkbenchWizard.
-	 */
-	public void init(IWorkbench aWorkbench,
-			IStructuredSelection currentSelection) {
-		super.init(aWorkbench, currentSelection);
-		this.workbench = aWorkbench;
-		this.selection = currentSelection;
-		setWindowTitle("New Hockey League File"); //$NON-NLS-1$
-		setNeedsProgressMonitor(true);
-	}
-
-	/**
-	 * @see org.eclipse.jface.wizard.Wizard#performFinish()
-	 */
-	public boolean performFinish() {
-		try {
-			// Remember the file.
-			//
-			final IFile hockeyleagueFile = getHockeyleagueFile();
-
-			// Do the work within an operation.
-			//
-			WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
-
-				protected void execute(IProgressMonitor progressMonitor) {
-					try {
-						ResourceSet resourceSet = new ResourceSetImpl();
-
-						URI fileURI = URI
-							.createPlatformResourceURI(hockeyleagueFile
-								.getFullPath().toString());
-
-						Resource resource = resourceSet.createResource(fileURI);
-
-						// Add the initial model object to the contents.
-						//
-						EObject rootObject = createInitialModel();
-						if (rootObject != null) {
-							resource.getContents().add(rootObject);
-						}
-
-						// Save the contents of the resource to the file system.
-						//
-						resource.save(Collections.EMPTY_MAP);
-					} catch (Exception exception) {
-						exception.printStackTrace();
-					} finally {
-						progressMonitor.done();
-					}
-				}
-			};
-
-			getContainer().run(false, false, operation);
-
-			// Select the new file resource in the current view.
-			//
-			IWorkbenchWindow workbenchWindow = workbench
-				.getActiveWorkbenchWindow();
-			IWorkbenchPage page = workbenchWindow.getActivePage();
-			final IWorkbenchPart activePart = page.getActivePart();
-			if (activePart instanceof ISetSelectionTarget) {
-				final ISelection targetSelection = new StructuredSelection(
-					hockeyleagueFile);
-				getShell().getDisplay().asyncExec(new Runnable() {
-
-					public void run() {
-						((ISetSelectionTarget) activePart)
-							.selectReveal(targetSelection);
-					}
-				});
-			}
-
-			// Open an editor on the new file.
-			//
-			try {
-				IDE.openEditor(page, hockeyleagueFile, true);
-			} catch (PartInitException exception) {
-				MessageDialog.openError(workbenchWindow.getShell(),
-					"Open Editor", exception.getMessage()); //$NON-NLS-1$
-				return false;
-			}
-
-			return true;
-		} catch (Exception exception) {
-			exception.printStackTrace();
-			return false;
-		}
-	}
-
-	public IFile getHockeyleagueFile() {
-		return mainPage.getHockeyleagueFile();
-	}
-
-	private EObject createInitialModel() {
-		EClass eClass = HockeyleaguePackage.eINSTANCE.getLeague();
-		EObject rootObject = HockeyleagueFactory.eINSTANCE.create(eClass);
-		return rootObject;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueFileWizardPage.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueFileWizardPage.java
deleted file mode 100644
index f96d351..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueFileWizardPage.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.wizards;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-
-/**
- * This is the wizard page to create a new Hockeyleague model file.
- * 
- * @author Anthony Hunter
- */
-public class NewHockeyleagueFileWizardPage
-	extends WizardNewFileCreationPage {
-
-	/**
-	 * The Hockey league file.
-	 */
-	protected IFile hockeyleagueFile;
-
-	/**
-	 * @param pageName
-	 * @param selection
-	 */
-	public NewHockeyleagueFileWizardPage(String pageName,
-			IStructuredSelection selection) {
-		super(pageName, selection);
-	}
-
-	/**
-	 * The framework calls this to see if the file is correct.
-	 */
-	protected boolean validatePage() {
-		if (super.validatePage()) {
-			// Make sure the file ends in ".hockeyleague".
-			//
-			String requiredExtStatic = "hockeyleague"; //$NON-NLS-1$
-			String enteredExt = new Path(getFileName()).getFileExtension();
-			if (enteredExt == null
-				|| !(enteredExt.equals(requiredExtStatic))) {
-				setErrorMessage(MessageFormat.format(
-					"The filename must end in \".{0}\"",//$NON-NLS-1$
-					new Object[] {requiredExtStatic}));
-				return false;
-			} else {
-				return true;
-			}
-		} else {
-			return false;
-		}
-	}
-
-	/**
-	 * Store the dialog field settings upon completion.
-	 */
-	public boolean performFinish() {
-		hockeyleagueFile = getHockeyleagueFile();
-		return true;
-	}
-
-	/**
-	 */
-	public IFile getHockeyleagueFile() {
-		return hockeyleagueFile == null ? ResourcesPlugin.getWorkspace()
-			.getRoot().getFile(getContainerFullPath().append(getFileName()))
-			: hockeyleagueFile;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueProjectWizard.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueProjectWizard.java
deleted file mode 100644
index 2d35c9a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/ui/wizards/NewHockeyleagueProjectWizard.java
+++ /dev/null
@@ -1,512 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ui.wizards;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.Collections;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.DefencePositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ForwardPositionKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HeightKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueFactory;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePlugin;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.ShotKind;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.WeightKind;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.ISetSelectionTarget;
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
-
-/**
- * This is the wizard to create a new Hockeyleague example project.
- * 
- * @author Anthony Hunter
- */
-public class NewHockeyleagueProjectWizard
-	extends BasicNewResourceWizard {
-
-	private WizardNewProjectCreationPage mainPage;
-
-	private IWorkbench workbench;
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench,
-	 *      org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void init(IWorkbench aWorkbench,
-			IStructuredSelection currentSelection) {
-		super.init(workbench, currentSelection);
-		this.workbench = aWorkbench;
-		setWindowTitle("New Hockey League Project"); //$NON-NLS-1$
-		setNeedsProgressMonitor(true);
-	}
-
-	/**
-	 * @see org.eclipse.jface.wizard.IWizard#addPages()
-	 */
-	public void addPages() {
-		super.addPages();
-		mainPage = new WizardNewProjectCreationPage("basicNewProjectPage");//$NON-NLS-1$
-		mainPage.setTitle("Hockey League Example Project"); //$NON-NLS-1$
-		mainPage.setDescription("Create a new Tabbed Properties View Hockey League Example Project"); //$NON-NLS-1$
-		this.addPage(mainPage);
-	}
-
-	/**
-	 * @see org.eclipse.jface.wizard.Wizard#performFinish()
-	 */
-	public boolean performFinish() {
-		// get a project handle
-		final IProject newProjectHandle = mainPage.getProjectHandle();
-		IPath newPath = null;
-		if (!mainPage.useDefaults())
-			newPath = mainPage.getLocationPath();
-		final IPath newProjectPath = newPath;
-		final IFile[] newFile = new IFile[1];
-
-		// create the new project operation
-		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-
-			protected void execute(IProgressMonitor monitor)
-				throws CoreException {
-				try {
-					monitor.beginTask("Creating New Project", 3000);//$NON-NLS-1$
-
-					monitor.setTaskName("Create a project descriptor");//$NON-NLS-1$
-					monitor.worked(1000);
-					IWorkspace workspace = ResourcesPlugin.getWorkspace();
-					final IProjectDescription description = workspace
-						.newProjectDescription(newProjectHandle.getName());
-					description.setLocation(newProjectPath);
-
-					monitor.setTaskName("Create the new project");//$NON-NLS-1$
-					newProjectHandle.create(description,
-						new SubProgressMonitor(monitor, 1000));
-
-					if (monitor.isCanceled())
-						throw new OperationCanceledException();
-
-					monitor.setTaskName("Open the new project");//$NON-NLS-1$
-					newProjectHandle
-						.open(new SubProgressMonitor(monitor, 1000));
-
-					if (monitor.isCanceled())
-						throw new OperationCanceledException();
-
-					monitor.setTaskName("Create the new file");//$NON-NLS-1$
-					monitor.worked(1000);
-					newFile[0] = newProjectHandle
-						.getFile("example.hockeyleague");//$NON-NLS-1$
-					ResourceSet resourceSet = new ResourceSetImpl();
-
-					URI fileURI = URI.createPlatformResourceURI(newFile[0]
-						.getFullPath().toString());
-
-					Resource resource = resourceSet.createResource(fileURI);
-
-					// Add the initial model object to the contents.
-					//
-					createInitialModel(resource);
-
-					try {
-						// Save the contents of the resource to the file system.
-						//
-						resource.save(Collections.EMPTY_MAP);
-					} catch (IOException e) {
-						e.printStackTrace();
-					}
-
-				} finally {
-					monitor.done();
-				}
-			}
-		};
-
-		// run the new project creation operation
-		try {
-			getContainer().run(true, true, op);
-		} catch (InterruptedException e) {
-			return false;
-		} catch (InvocationTargetException e) {
-			// ie.- one of the steps resulted in a core exception
-			Throwable t = e.getTargetException();
-			if (t instanceof CoreException) {
-				ErrorDialog.openError(getShell(), "Creation Problems", //$NON-NLS-1$
-					null, // no special message
-					((CoreException) t).getStatus());
-			} else {
-				// CoreExceptions are handled above, but unexpected runtime
-				// exceptions and errors may still occur.
-				HockeyleaguePlugin.getPlugin().getLog().log(
-					new Status(IStatus.ERROR, "HockeyleaguePlugin", 0, t//$NON-NLS-1$
-						.toString(), t));
-				MessageDialog.openError(getShell(), "Creation Problems", //$NON-NLS-1$
-					MessageFormat.format("Internal error: {0}", //$NON-NLS-1$
-						new Object[] {t.getMessage()}));
-			}
-			return false;
-		}
-
-		// Select the new file resource in the current view.
-		//
-		IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-		IWorkbenchPage page = workbenchWindow.getActivePage();
-		final IWorkbenchPart activePart = page.getActivePart();
-		if (activePart instanceof ISetSelectionTarget) {
-			final ISelection targetSelection = new StructuredSelection(
-				newFile[0]);
-			getShell().getDisplay().asyncExec(new Runnable() {
-
-				public void run() {
-					((ISetSelectionTarget) activePart)
-						.selectReveal(targetSelection);
-				}
-			});
-		}
-
-		// Open an editor on the new file.
-		//
-		try {
-			IDE.openEditor(page, newFile[0], true);
-		} catch (PartInitException exception) {
-			MessageDialog.openError(workbenchWindow.getShell(), "Open Editor",//$NON-NLS-1$
-				exception.getMessage());
-			return false;
-		}
-
-		return true;
-	}
-
-	private EObject createInitialModel(Resource resource) {
-		HockeyleagueFactory hockeyleagueFactory = HockeyleagueFactory.eINSTANCE;
-
-		/* Global Hockey League */
-		League league = hockeyleagueFactory.createLeague();
-		league.setName("Global Hockey League");//$NON-NLS-1$
-		league
-			.setHeadoffice("99 Bee Street, Toronto, Ontario, Canada, M5J 1Y7");//$NON-NLS-1$
-		resource.getContents().add(league);
-
-		/* Toronto Storm */
-		Arena arena = hockeyleagueFactory.createArena();
-		arena.setAddress("40 Buy Street, Toronto, Ontario, Canada, M5J 1C3");//$NON-NLS-1$
-		arena.setCapacity(18918);
-		arena.setName("Storm Centre");//$NON-NLS-1$
-		resource.getContents().add(arena);
-
-		Team torontoStorm = hockeyleagueFactory.createTeam();
-		torontoStorm.setName("Toronto Storm");//$NON-NLS-1$
-		torontoStorm.setArena(arena);
-		createPlayers(torontoStorm);
-		resource.getContents().add(torontoStorm);
-
-		/* Montreal Eagles */
-		arena = hockeyleagueFactory.createArena();
-		arena
-			.setAddress("1010 de La Gauchetiere Street, Montreal, Quebec, Canada, H3B B7B");//$NON-NLS-1$
-		arena.setCapacity(22000);
-		arena.setName("Global Centre");//$NON-NLS-1$
-		resource.getContents().add(arena);
-
-		Team montrealEagles = hockeyleagueFactory.createTeam();
-		montrealEagles.setName("Montreal Eagles");//$NON-NLS-1$
-		montrealEagles.setArena(arena);
-		createPlayers(montrealEagles);
-		resource.getContents().add(montrealEagles);
-
-		/* Ottawa Lions */
-		arena = hockeyleagueFactory.createArena();
-		arena.setAddress("1001 Atlas Drive, Ottawa, Ontario, Canada, K2V 1L8");//$NON-NLS-1$
-		arena.setCapacity(19000);
-		arena.setName("Ottawa Memorial Arena");//$NON-NLS-1$
-		resource.getContents().add(arena);
-
-		Team ottawaLions = hockeyleagueFactory.createTeam();
-		ottawaLions.setName("Ottawa Lions");//$NON-NLS-1$
-		ottawaLions.setArena(arena);
-		createPlayers(ottawaLions);
-		resource.getContents().add(ottawaLions);
-
-		/* Vancouver Tigers */
-		arena = hockeyleagueFactory.createArena();
-		arena
-			.setAddress("200 Griffins Way, Vancouver, British Columbia, Canada, V6B 9M2");//$NON-NLS-1$
-		arena.setCapacity(18500);
-		arena.setName("Century Place");//$NON-NLS-1$
-		resource.getContents().add(arena);
-
-		Team vancouverTigers = hockeyleagueFactory.createTeam();
-		vancouverTigers.setName("Vancouver Tigers");//$NON-NLS-1$
-		vancouverTigers.setArena(arena);
-		createPlayers(vancouverTigers);
-		resource.getContents().add(vancouverTigers);
-
-		league.getTeams().add(torontoStorm);
-		league.getTeams().add(montrealEagles);
-		league.getTeams().add(ottawaLions);
-		league.getTeams().add(vancouverTigers);
-		return league;
-	}
-
-	/**
-	 */
-	private void createPlayers(Team team) {
-		createGoalie(team);
-		createLeftWing(team);
-		createCenter(team);
-		createRightWing(team);
-		createRightDefence(team);
-		createLeftDefence(team);
-	}
-
-	private void createRightDefence(Team team) {
-		HockeyleagueFactory hockeyleagueFactory = HockeyleagueFactory.eINSTANCE;
-		Defence defence = hockeyleagueFactory.createDefence();
-		defence.setName("Josef Kraft");//$NON-NLS-1$
-		defence.setBirthdate("September 2, 1980");//$NON-NLS-1$
-		defence.setBirthplace("Plzen, Czechoslovakia");//$NON-NLS-1$
-		defence.setHeightMesurement(HeightKind.INCHES_LITERAL);
-		defence.setHeightValue(74);
-		defence.setWeightMesurement(WeightKind.POUNDS_LITERAL);
-		defence.setWeightValue(224);
-		defence.setNumber(15);
-		defence.setShot(ShotKind.RIGHT_LITERAL);
-		defence.setPosition(DefencePositionKind.RIGHT_DEFENCE_LITERAL);
-
-		PlayerStats playerStats = hockeyleagueFactory.createPlayerStats();
-		playerStats.setYear("2004");//$NON-NLS-1$
-		playerStats.setTeam(team);
-		playerStats.setGamesPlayedIn(67);
-		playerStats.setGoals(28);
-		playerStats.setAssists(63);
-		playerStats.setPoints(91);
-		playerStats.setPlusMinus(-25);
-		playerStats.setPenaltyMinutes(43);
-		playerStats.setPowerPlayGoals(14);
-		playerStats.setShortHandedGoals(0);
-		playerStats.setGameWinningGoals(0);
-		playerStats.setShots(235);
-		playerStats.setShotPercentage(11.9F);
-		playerStats.setGameWinningGoals(4);
-		defence.getPlayerStats().add(playerStats);
-
-		team.getDefencemen().add(defence);
-	}
-
-	private void createLeftDefence(Team team) {
-		HockeyleagueFactory hockeyleagueFactory = HockeyleagueFactory.eINSTANCE;
-		Defence defence = hockeyleagueFactory.createDefence();
-		defence.setName("Tom Orpik");//$NON-NLS-1$
-		defence.setBirthdate("March 20, 1975");//$NON-NLS-1$
-		defence.setBirthplace("Cayuga, Ontario, Canada");//$NON-NLS-1$
-		defence.setHeightMesurement(HeightKind.INCHES_LITERAL);
-		defence.setHeightValue(74);
-		defence.setWeightMesurement(WeightKind.POUNDS_LITERAL);
-		defence.setWeightValue(224);
-		defence.setNumber(15);
-		defence.setShot(ShotKind.LEFT_LITERAL);
-		defence.setPosition(DefencePositionKind.LEFT_DEFENCE_LITERAL);
-
-		PlayerStats playerStats = hockeyleagueFactory.createPlayerStats();
-		playerStats.setYear("2004");//$NON-NLS-1$
-		playerStats.setTeam(team);
-		playerStats.setGamesPlayedIn(67);
-		playerStats.setGoals(28);
-		playerStats.setAssists(63);
-		playerStats.setPoints(91);
-		playerStats.setPlusMinus(-25);
-		playerStats.setPenaltyMinutes(43);
-		playerStats.setPowerPlayGoals(14);
-		playerStats.setShortHandedGoals(0);
-		playerStats.setGameWinningGoals(0);
-		playerStats.setShots(235);
-		playerStats.setShotPercentage(11.9F);
-		playerStats.setGameWinningGoals(4);
-		defence.getPlayerStats().add(playerStats);
-
-		team.getDefencemen().add(defence);
-	}
-
-	private void createCenter(Team team) {
-		HockeyleagueFactory hockeyleagueFactory = HockeyleagueFactory.eINSTANCE;
-		Forward forward = hockeyleagueFactory.createForward();
-		forward.setName("Tom Orpik");//$NON-NLS-1$
-		forward.setBirthdate("March 20, 1975");//$NON-NLS-1$
-		forward.setBirthplace("Cayuga, Ontario, Canada");//$NON-NLS-1$
-		forward.setHeightMesurement(HeightKind.INCHES_LITERAL);
-		forward.setHeightValue(74);
-		forward.setWeightMesurement(WeightKind.POUNDS_LITERAL);
-		forward.setWeightValue(224);
-		forward.setNumber(15);
-		forward.setShot(ShotKind.RIGHT_LITERAL);
-		forward.setPosition(ForwardPositionKind.CENTER_LITERAL);
-
-		PlayerStats playerStats = hockeyleagueFactory.createPlayerStats();
-		playerStats.setYear("2004");//$NON-NLS-1$
-		playerStats.setTeam(team);
-		playerStats.setGamesPlayedIn(67);
-		playerStats.setGoals(28);
-		playerStats.setAssists(63);
-		playerStats.setPoints(91);
-		playerStats.setPlusMinus(-25);
-		playerStats.setPenaltyMinutes(43);
-		playerStats.setPowerPlayGoals(14);
-		playerStats.setShortHandedGoals(0);
-		playerStats.setGameWinningGoals(0);
-		playerStats.setShots(235);
-		playerStats.setShotPercentage(11.9F);
-		playerStats.setGameWinningGoals(4);
-		forward.getPlayerStats().add(playerStats);
-
-		team.getForwards().add(forward);
-	}
-
-	private void createLeftWing(Team team) {
-		HockeyleagueFactory hockeyleagueFactory = HockeyleagueFactory.eINSTANCE;
-		Forward forward = hockeyleagueFactory.createForward();
-		forward.setName("Chris Sargeant");//$NON-NLS-1$
-		forward.setBirthdate("February 16, 1973");//$NON-NLS-1$
-		forward.setBirthplace("Cayuga, Ontario, Canada");//$NON-NLS-1$
-		forward.setHeightMesurement(HeightKind.INCHES_LITERAL);
-		forward.setHeightValue(75);
-		forward.setWeightMesurement(WeightKind.POUNDS_LITERAL);
-		forward.setWeightValue(198);
-		forward.setNumber(22);
-		forward.setShot(ShotKind.RIGHT_LITERAL);
-		forward.setPosition(ForwardPositionKind.RIGHT_WING_LITERAL);
-
-		PlayerStats playerStats = hockeyleagueFactory.createPlayerStats();
-		playerStats.setYear("2004");//$NON-NLS-1$
-		playerStats.setTeam(team);
-		playerStats.setGamesPlayedIn(67);
-		playerStats.setGoals(28);
-		playerStats.setAssists(63);
-		playerStats.setPoints(91);
-		playerStats.setPlusMinus(-25);
-		playerStats.setPenaltyMinutes(43);
-		playerStats.setPowerPlayGoals(14);
-		playerStats.setShortHandedGoals(0);
-		playerStats.setGameWinningGoals(0);
-		playerStats.setShots(235);
-		playerStats.setShotPercentage(11.9F);
-		playerStats.setGameWinningGoals(4);
-		forward.getPlayerStats().add(playerStats);
-
-		team.getForwards().add(forward);
-	}
-
-	private void createRightWing(Team team) {
-		HockeyleagueFactory hockeyleagueFactory = HockeyleagueFactory.eINSTANCE;
-		Forward forward = hockeyleagueFactory.createForward();
-		forward.setName("Martin Smyth");//$NON-NLS-1$
-		forward.setBirthdate("January 24, 1983");//$NON-NLS-1$
-		forward.setBirthplace("Calgary, Alberta, Canada");//$NON-NLS-1$
-		forward.setHeightMesurement(HeightKind.INCHES_LITERAL);
-		forward.setHeightValue(71);
-		forward.setWeightMesurement(WeightKind.POUNDS_LITERAL);
-		forward.setWeightValue(192);
-		forward.setNumber(14);
-		forward.setShot(ShotKind.LEFT_LITERAL);
-		forward.setPosition(ForwardPositionKind.LEFT_WING_LITERAL);
-
-		PlayerStats playerStats = hockeyleagueFactory.createPlayerStats();
-		playerStats.setYear("2004");//$NON-NLS-1$
-		playerStats.setTeam(team);
-		playerStats.setGamesPlayedIn(80);
-		playerStats.setGoals(45);
-		playerStats.setAssists(35);
-		playerStats.setPoints(80);
-		playerStats.setPlusMinus(8);
-		playerStats.setPenaltyMinutes(34);
-		playerStats.setPowerPlayGoals(14);
-		playerStats.setShortHandedGoals(0);
-		playerStats.setGameWinningGoals(10);
-		playerStats.setShots(229);
-		playerStats.setShotPercentage(19.7F);
-		playerStats.setGameWinningGoals(10);
-		forward.getPlayerStats().add(playerStats);
-
-		team.getForwards().add(forward);
-	}
-
-	private void createGoalie(Team team) {
-		HockeyleagueFactory hockeyleagueFactory = HockeyleagueFactory.eINSTANCE;
-		Goalie goalie = hockeyleagueFactory.createGoalie();
-		goalie.setName("Jaugues Leblanc");//$NON-NLS-1$
-		goalie.setBirthdate("July 7, 1979");//$NON-NLS-1$
-		goalie.setBirthplace("Laval, Quebec, Canada");//$NON-NLS-1$
-		goalie.setHeightMesurement(HeightKind.INCHES_LITERAL);
-		goalie.setHeightValue(71);
-		goalie.setWeightMesurement(WeightKind.POUNDS_LITERAL);
-		goalie.setWeightValue(192);
-		goalie.setNumber(29);
-		goalie.setShot(ShotKind.LEFT_LITERAL);
-
-		GoalieStats goalieStats = hockeyleagueFactory.createGoalieStats();
-		goalieStats.setYear("2004");//$NON-NLS-1$
-		goalieStats.setTeam(team);
-		goalieStats.setGamesPlayedIn(67);
-		goalieStats.setWins(39);
-		goalieStats.setLosses(20);
-		goalieStats.setTies(7);
-		goalieStats.setMinutesPlayedIn(3943);
-		goalieStats.setGoalsAgainst(142);
-		goalieStats.setSaves(1591);
-		goalieStats.setGoalsAgainstAverage(2.64F);
-		goalieStats.setShutouts(4);
-		goalieStats.setGoals(0);
-		goalieStats.setAssists(1);
-		goalieStats.setPoints(1);
-		goalieStats.setPenaltyMinutes(6);
-		goalieStats.setEmptyNetGoals(1);
-		goalie.getGoalieStats().add(goalieStats);
-
-		team.getGoalies().add(goalie);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/util/HockeyleagueAdapterFactory.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/util/HockeyleagueAdapterFactory.java
deleted file mode 100644
index e847d94..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/util/HockeyleagueAdapterFactory.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.util;
-
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage
- * @generated
- */
-public class HockeyleagueAdapterFactory extends AdapterFactoryImpl {
-	/**
-	 * The cached model package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected static HockeyleaguePackage modelPackage;
-
-	/**
-	 * Creates an instance of the adapter factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HockeyleagueAdapterFactory() {
-		if (modelPackage == null) {
-			modelPackage = HockeyleaguePackage.eINSTANCE;
-		}
-	}
-
-	/**
-	 * Returns whether this factory is applicable for the type of the object.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
-	 * <!-- end-user-doc -->
-	 * @return whether this factory is applicable for the type of the object.
-	 * @generated
-	 */
-	public boolean isFactoryForType(Object object) {
-		if (object == modelPackage) {
-			return true;
-		}
-		if (object instanceof EObject) {
-			return ((EObject)object).eClass().getEPackage() == modelPackage;
-		}
-		return false;
-	}
-
-	/**
-	 * The switch the delegates to the <code>createXXX</code> methods.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected HockeyleagueSwitch modelSwitch =
-		new HockeyleagueSwitch() {
-			public Object caseArena(Arena object) {
-				return createArenaAdapter();
-			}
-			public Object caseDefence(Defence object) {
-				return createDefenceAdapter();
-			}
-			public Object caseForward(Forward object) {
-				return createForwardAdapter();
-			}
-			public Object caseGoalie(Goalie object) {
-				return createGoalieAdapter();
-			}
-			public Object caseGoalieStats(GoalieStats object) {
-				return createGoalieStatsAdapter();
-			}
-			public Object caseHockeyleagueObject(HockeyleagueObject object) {
-				return createHockeyleagueObjectAdapter();
-			}
-			public Object caseLeague(League object) {
-				return createLeagueAdapter();
-			}
-			public Object casePlayer(Player object) {
-				return createPlayerAdapter();
-			}
-			public Object casePlayerStats(PlayerStats object) {
-				return createPlayerStatsAdapter();
-			}
-			public Object caseTeam(Team object) {
-				return createTeamAdapter();
-			}
-			public Object defaultCase(EObject object) {
-				return createEObjectAdapter();
-			}
-		};
-
-	/**
-	 * Creates an adapter for the <code>target</code>.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param target the object to adapt.
-	 * @return the adapter for the <code>target</code>.
-	 * @generated
-	 */
-	public Adapter createAdapter(Notifier target) {
-		return (Adapter)modelSwitch.doSwitch((EObject)target);
-	}
-
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena <em>Arena</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Arena
-	 * @generated
-	 */
-	public Adapter createArenaAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence <em>Defence</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Defence
-	 * @generated
-	 */
-	public Adapter createDefenceAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward <em>Forward</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Forward
-	 * @generated
-	 */
-	public Adapter createForwardAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie <em>Goalie</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Goalie
-	 * @generated
-	 */
-	public Adapter createGoalieAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats <em>Goalie Stats</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.GoalieStats
-	 * @generated
-	 */
-	public Adapter createGoalieStatsAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject <em>Object</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleagueObject
-	 * @generated
-	 */
-	public Adapter createHockeyleagueObjectAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League <em>League</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.League
-	 * @generated
-	 */
-	public Adapter createLeagueAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player <em>Player</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Player
-	 * @generated
-	 */
-	public Adapter createPlayerAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats <em>Player Stats</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.PlayerStats
-	 * @generated
-	 */
-	public Adapter createPlayerStatsAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team <em>Team</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.Team
-	 * @generated
-	 */
-	public Adapter createTeamAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for the default case.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @generated
-	 */
-	public Adapter createEObjectAdapter() {
-		return null;
-	}
-
-} //HockeyleagueAdapterFactory
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/util/HockeyleagueSwitch.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/util/HockeyleagueSwitch.java
deleted file mode 100644
index b47a3cf..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.hockeyleague/src/org/eclipse/ui/examples/views/properties/tabbed/hockeyleague/util/HockeyleagueSwitch.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.util;
-
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * <!-- end-user-doc -->
- * @see org.eclipse.ui.examples.views.properties.tabbed.hockeyleague.HockeyleaguePackage
- * @generated
- */
-public class HockeyleagueSwitch {
-	/**
-	 * The cached model package
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected static HockeyleaguePackage modelPackage;
-
-	/**
-	 * Creates an instance of the switch.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public HockeyleagueSwitch() {
-		if (modelPackage == null) {
-			modelPackage = HockeyleaguePackage.eINSTANCE;
-		}
-	}
-
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	public Object doSwitch(EObject theEObject) {
-		return doSwitch(theEObject.eClass(), theEObject);
-	}
-
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	protected Object doSwitch(EClass theEClass, EObject theEObject) {
-		if (theEClass.eContainer() == modelPackage) {
-			return doSwitch(theEClass.getClassifierID(), theEObject);
-		}
-		else {
-			List eSuperTypes = theEClass.getESuperTypes();
-			return
-				eSuperTypes.isEmpty() ?
-					defaultCase(theEObject) :
-					doSwitch((EClass)eSuperTypes.get(0), theEObject);
-		}
-	}
-
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	protected Object doSwitch(int classifierID, EObject theEObject) {
-		switch (classifierID) {
-			case HockeyleaguePackage.ARENA: {
-				Arena arena = (Arena)theEObject;
-				Object result = caseArena(arena);
-				if (result == null) result = caseHockeyleagueObject(arena);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case HockeyleaguePackage.DEFENCE: {
-				Defence defence = (Defence)theEObject;
-				Object result = caseDefence(defence);
-				if (result == null) result = casePlayer(defence);
-				if (result == null) result = caseHockeyleagueObject(defence);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case HockeyleaguePackage.FORWARD: {
-				Forward forward = (Forward)theEObject;
-				Object result = caseForward(forward);
-				if (result == null) result = casePlayer(forward);
-				if (result == null) result = caseHockeyleagueObject(forward);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case HockeyleaguePackage.GOALIE: {
-				Goalie goalie = (Goalie)theEObject;
-				Object result = caseGoalie(goalie);
-				if (result == null) result = casePlayer(goalie);
-				if (result == null) result = caseHockeyleagueObject(goalie);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case HockeyleaguePackage.GOALIE_STATS: {
-				GoalieStats goalieStats = (GoalieStats)theEObject;
-				Object result = caseGoalieStats(goalieStats);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case HockeyleaguePackage.HOCKEYLEAGUE_OBJECT: {
-				HockeyleagueObject hockeyleagueObject = (HockeyleagueObject)theEObject;
-				Object result = caseHockeyleagueObject(hockeyleagueObject);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case HockeyleaguePackage.LEAGUE: {
-				League league = (League)theEObject;
-				Object result = caseLeague(league);
-				if (result == null) result = caseHockeyleagueObject(league);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case HockeyleaguePackage.PLAYER: {
-				Player player = (Player)theEObject;
-				Object result = casePlayer(player);
-				if (result == null) result = caseHockeyleagueObject(player);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case HockeyleaguePackage.PLAYER_STATS: {
-				PlayerStats playerStats = (PlayerStats)theEObject;
-				Object result = casePlayerStats(playerStats);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case HockeyleaguePackage.TEAM: {
-				Team team = (Team)theEObject;
-				Object result = caseTeam(team);
-				if (result == null) result = caseHockeyleagueObject(team);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			default: return defaultCase(theEObject);
-		}
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Arena</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Arena</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseArena(Arena object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Defence</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Defence</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseDefence(Defence object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Forward</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Forward</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseForward(Forward object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Goalie</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Goalie</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseGoalie(Goalie object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Goalie Stats</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Goalie Stats</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseGoalieStats(GoalieStats object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Object</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Object</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseHockeyleagueObject(HockeyleagueObject object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>League</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>League</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseLeague(League object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Player</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Player</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object casePlayer(Player object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Player Stats</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Player Stats</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object casePlayerStats(PlayerStats object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Team</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Team</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseTeam(Team object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch, but this is the last case anyway.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
-	 * @generated
-	 */
-	public Object defaultCase(EObject object) {
-		return null;
-	}
-
-} //HockeyleagueSwitch
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.classpath b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.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.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.cvsignore b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.project b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.project
deleted file mode 100644
index 64e15f3..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.views.properties.tabbed.logic</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/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 662a6cc..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 06 11:18:30 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 0b94798..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:18:33 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.2\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 5b8aef4..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,15 +0,0 @@
-#Tue Jan 31 19:06:57 EST 2006
-compilers.p.build=1
-compilers.p.deprecated=1
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/META-INF/MANIFEST.MF b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/META-INF/MANIFEST.MF
deleted file mode 100644
index e8138af..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Logic Plug-in
-Bundle-SymbolicName: org.eclipse.ui.examples.views.properties.tabbed.logic;singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-Activator: org.eclipse.ui.examples.views.properties.tabbed.logic.Activator
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.gef.examples.logic,
- org.eclipse.ui.views.properties.tabbed,
- org.eclipse.gef,
- org.eclipse.core.resources,
- org.eclipse.ui.ide
-Eclipse-LazyStart: true
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/about.html b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/build.properties b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/build.properties
deleted file mode 100644
index cb3487b..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               about.html,\
-               icons/,\
-               plugin.properties
-src.includes = about.html
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/icons/logic.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/icons/logic.gif
deleted file mode 100644
index ca05b78..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/icons/logic.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/icons/logicbanner.gif b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/icons/logicbanner.gif
deleted file mode 100644
index 6a4deba..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/icons/logicbanner.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/plugin.properties b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/plugin.properties
deleted file mode 100644
index d47c7bd..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/plugin.properties
+++ /dev/null
@@ -1,203 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Plugin.name = IBM Rational Common UI Properties Logic Example
-Plugin.providerName = IBM Rational
-
-Logic_example_graphical_editor_name = Logic Graphical Editor
-GEF_example_wizard_category_name = GEF (Graphical Editing Framework)
-Logic_example_wizard_name = Logic Diagram
-Logic_example_wizard_description=An example of a wizard that creates sample Logic file
-
-##############################################
-# PasteTemplateAction Class
-##############################################
-PasteAction.ActionToolTipText_UI_=Paste
-PasteAction.ActionLabelText_UI_=&Paste
-PasteAction.ActionDeleteCommandName_UI_=Paste
-
-##############################################
-# ZoomAction Class
-##############################################
-ZoomAction.ZoomIn.ActionToolTipText_UI_=Zoom In
-ZoomAction.ZoomIn.ActionLabelText_UI_=Zoom In
-ZoomAction.ZoomOut.ActionToolTipText_UI_=Zoom Out
-ZoomAction.ZoomOut.ActionLabelText_UI_=Zoom Out
-
-##############################################
-# View Menu
-##############################################
-ViewMenu.LabelText_UI_=&View
-
-##############################################
-# Property Source Cell Editor Validators
-##############################################
-CellEditorValidator.NotANumberMessage=Not a number
-
-##############################################
-# Palette Customizer
-##############################################
-PaletteCustomizer.InvalidCharMessage=Name contains invalid character: *
-
-##############################################
-# Model information
-##############################################
-Wire.LabelText=Wire
-LED.LabelText=LED
-LogicDiagram.LabelText=Logic Diagram
-Circuit.LabelText=Circuit
-AndGate.LabelText=And Gate
-OrGate.LabelText=Or Gate
-XORGate.LabelText=XOR Gate
-GroundOutput.LabelText=Ground
-LiveOutput.LabelText=Positive Voltage
-
-##############################################
-# PropertyDescriptors and PropertySources
-##############################################
-PropertyDescriptor.Label.Text=Text
-PropertyDescriptor.LogicSubPart.Size=Size
-PropertyDescriptor.LogicSubPart.Location=Location
-PropertyDescriptor.LED.Value=Value
-PropertyDescriptor.LogicDiagram.ConnectionRouter=Connection Router
-PropertyDescriptor.LogicDiagram.Manual=Manual
-PropertyDescriptor.LogicDiagram.Manhattan=Manhattan
-
-DimensionPropertySource.Property.Width.Label=Width
-DimensionPropertySource.Property.Height.Label=Height
-LocationPropertySource.Property.X.Label=X
-LocationPropertySource.Property.Y.Label=Y
-
-##############################################
-# Actions (IncrementDecrementAction)
-##############################################
-IncrementDecrementAction.Increment.ActionLabelText=Increment
-IncrementDecrementAction.Increment.ActionToolTipText=Increment LED
-IncrementDecrementAction.Decrement.ActionLabelText=Decrement
-IncrementDecrementAction.Decrement.ActionToolTipText=Decrement LED
-
-##############################################
-# Actions (AlignmentAction)
-##############################################
-AlignmentAction.AlignSubmenu.ActionLabelText=&Align
-
-##############################################
-# EditPolicies
-##############################################
-LogicXYLayoutEditPolicy.AddCommandLabelText=Reparenting LogicSubpart
-LogicXYLayoutEditPolicy.CreateCommandLabelText=Creating LogicSubpart
-LogicElementEditPolicy.OrphanCommandLabelText=Reparenting LogicSubpart
-IncrementDecrementCommand.LabelText=Logic Value Change
-LogicNullConstraintEditPolicy.OrphanCommandLabelText=Reparenting LogicSubpart
-LogicContainerEditPolicy.OrphanCommandLabelText=Orphan children
-
-##############################################
-# Wizard Page
-##############################################
-CreateLogicPage1.Title=Create Logic File
-CreateLogicPage1.Description=Create a new Logic file resource.
-CreateLogicPage1.ModelNames.GroupName=Logic Model Samples
-CreateLogicPage1.ModelNames.EmptyModelName=E&mpty Model
-CreateLogicPage1.ModelNames.HalfAdderModelName=Half-Adder Model
-CreateLogicPage1.ModelNames.FullAdderModelName=Full-Adder Model
-CreateLogicPage1.ModelNames.FourBitAdderModelName=F&our-bit Adder Model
-
-##############################################
-# LogicPlugin and Tools
-##############################################
-LogicPlugin.Category.ComplexParts.Label=Canned Parts
-LogicPlugin.Category.Components.Label=Components
-LogicPlugin.Category.ControlGroup.Label=Control Group
-LogicPlugin.Tool.CreationTool.LiveGroundStack.Label=Live & Ground Stack
-LogicPlugin.Tool.CreationTool.LiveGroundStack.Description=A stack containg the live output and ground parts
-LogicPlugin.Tool.CreationTool.LogicLabel=Label
-LogicPlugin.Tool.CreationTool.Label.Label=Label
-LogicPlugin.Tool.CreationTool.Label.Description=Creates labels (they support renaming, resizing, dragging, cut and paste, etc.)
-LogicPlugin.Tool.CreationTool.FlowContainer.Label=Flow Container
-LogicPlugin.Tool.CreationTool.FlowContainer.Description=Creates a container that can hold other circuit components
-LogicPlugin.Tool.CreationTool.HalfAdder.Label=HalfAdder
-LogicPlugin.Tool.CreationTool.HalfAdder.Description=Creates a circuit representing a half-adder
-LogicPlugin.Tool.CreationTool.FullAdder.Label=FullAdder
-LogicPlugin.Tool.CreationTool.FullAdder.Description=Creates a circuit representing a full-adder (uses two half-adders)
-LogicPlugin.Tool.CreationTool.LED.Label=LED
-LogicPlugin.Tool.CreationTool.LED.Description=Creates an LED which is used to read voltage input/output
-LogicPlugin.Tool.CreationTool.Circuit.Label=Circuit
-LogicPlugin.Tool.CreationTool.Circuit.Description=Create a circuit.  It can be connected to external circuits/parts, and can have an intricate design as well.
-LogicPlugin.Tool.CreationTool.ORGate.Label=Or Gate
-LogicPlugin.Tool.CreationTool.ORGate.Description=Create a gate that performs the logical OR operation
-LogicPlugin.Tool.CreationTool.XORGate.Label=XOR Gate
-LogicPlugin.Tool.CreationTool.XORGate.Description=Creates a gate that can perform the logical XOR operation
-LogicPlugin.Tool.CreationTool.ANDGate.Label=And Gate
-LogicPlugin.Tool.CreationTool.ANDGate.Description=Creates a gate that can perform the logical AND operation
-LogicPlugin.Tool.CreationTool.LiveOutput.Label=V+
-LogicPlugin.Tool.CreationTool.LiveOutput.Description=Creates a voltage positive node, which is an electrical equivalent of logical 'true'
-LogicPlugin.Tool.CreationTool.Ground.Label=Ground
-LogicPlugin.Tool.CreationTool.Ground.Description=Creates a ground node, which is an electrical equivalent of logical 'false'
-LogicPlugin.Tool.SelectionTool.SelectionTool.Label=Selection
-LogicPlugin.Tool.SelectionTool.SelectionTool.Description=Selection Tool can be used to select a figure in the editor.
-LogicPlugin.Tool.MarqueeSelectionTool.MarqueeSelectionTool.Label=Marquee
-LogicPlugin.Tool.MarqueeSelectionTool.MarqueeSelectionTool.Description=Marquee Selection Tool can be used to select multiple parts in the editor.
-LogicPlugin.Tool.ConnectionCreationTool.ConnectionCreationTool.Label=Connection
-LogicPlugin.Tool.ConnectionCreationTool.ConnectionCreationTool.Description=Connection tool can be used to connect the various circuit parts.
-
-##############################################
-# Commands
-##############################################
-AddChildCommand.Label=Add child to parent
-AddCommand.Label=Add command
-AddCommand.Description=Add
-
-ConnectionCommand.Label=wire connection
-ConnectionCommand.Description=Connection change
-
-CloneCommand.Label=Clone Object
-CloneCommand.Description=Clone
-
-CreateCommand.Label=Create Object
-CreateCommand.Description=Create
-
-OrphanChildCommand.Label=Orphan LogicSubpart
-
-ReorderPartCommand.Label=Reorder Subpart
-ReorderPartCommand.Description=Reorder
-
-SetLocationCommand.Description=Move Object
-SetLocationCommand.Label.Location=Move Object
-SetLocationCommand.Label.Resize=Resize Object
-SetMultipleLocationCommand.Description=Move Objects
-SetMultipleLocationCommand.Label.Location=Move Objects
-SetMultipleLocationCommand.Label.Resize=Resize Objects
-
-DeleteCommand.Label=Delete Object
-DeleteCommand.Description=Delete Object
-DeleteMultipleCommand.Label=Delete Objects
-DeleteMultipleCommand.Description=Delete Objects
-
-###############################################
-# Used by LogicEditor
-##############################################\
-GraphicalEditor.FILE_DELETED_TITLE_UI_ = File Deleted
-GraphicalEditor.FILE_DELETED_WITHOUT_SAVE_INFO_ = IWAG0001I The file has been deleted from the file system.  Do you want to save your changes or close the editor without saving?
-GraphicalEditor.SAVE_BUTTON_UI_ = Save
-GraphicalEditor.CLOSE_BUTTON_UI_ = Close
-
-###############################################
-# Exceptions
-###############################################
-LogicEditPart.CreateChild.Exception.Runtime_EXC_=This object has no children
-
-
-###############################################
-# Rulers and Guides
-###############################################
-CreateGuideCommand_Label=Create Guide
-DeleteGuideCommand_Label=Delete Guide
-MoveGuideCommand_Label=Move Guide
-
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/plugin.xml b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/plugin.xml
deleted file mode 100644
index 94d159f..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/plugin.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-     <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            default="true"
-            name="Tabbed Properties View Example Logic Editor"
-            extensions="tabbedpropertieslogic"
-            icon="icons/logic.gif"
-            class="org.eclipse.ui.examples.views.properties.tabbed.logic.TabbedPropertiesLogicEditor"
-            contributorClass="org.eclipse.gef.examples.logicdesigner.actions.LogicActionBarContributor"
-            id="org.eclipse.ui.examples.views.properties.tabbed.logic.TabbedPropertiesLogicEditor">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <category
-            name="Tabbed Properties View Examples"
-            parentCategory="org.eclipse.ui.Examples"
-            id="org.eclipse.ui.views.properties.tabbed">
-      </category>
-      <wizard
-            name="Tabbed Properties View Logic Example File"
-            icon="icons/logic.gif"
-            category="org.eclipse.ui.Examples/org.eclipse.ui.views.properties.tabbed"
-            class="org.eclipse.ui.examples.views.properties.tabbed.logic.LogicCreationWizard"
-            id="org.eclipse.ui.examples.views.properties.tabbed.logic.LogicCreationWizard">
-         <description>
-            Create a new Tabbed Properties View Logic Example file
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
-      <propertyContributor
-            typeMapper="org.eclipse.ui.examples.views.properties.tabbed.logic.properties.LogicElementTypeMapper"
-            contributorId="org.eclipse.ui.examples.views.properties.tabbed.logic.TabbedPropertiesLogicEditor"
-            labelProvider="org.eclipse.ui.examples.views.properties.tabbed.logic.properties.LogicElementLabelProvider">
-         <propertyCategory
-               category="element">
-         </propertyCategory>
-         <propertyCategory
-               category="other">
-         </propertyCategory>
-      </propertyContributor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertyTabs">
-      <propertyTabs
-            contributorId="org.eclipse.ui.examples.views.properties.tabbed.logic.TabbedPropertiesLogicEditor">
-         <propertyTab
-               label="Advanced"
-               category="other"
-               afterTab="logic.tab.Size"
-               id="logic.tab.Advanced">
-         </propertyTab>
-         <propertyTab
-               label="Location"
-               category="other"
-               id="logic.tab.Location">
-         </propertyTab>
-         <propertyTab
-               label="Size"
-               category="other"
-               afterTab="logic.tab.Location"
-               id="logic.tab.Size">
-         </propertyTab>
-         <propertyTab
-               label="Element"
-               category="element"
-               id="logic.tab.Element">
-         </propertyTab>
-      </propertyTabs>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertySections">
-      <propertySections
-            contributorId="org.eclipse.ui.examples.views.properties.tabbed.logic.TabbedPropertiesLogicEditor">
-         <propertySection
-               tab="logic.tab.Element"
-               class="org.eclipse.ui.examples.views.properties.tabbed.logic.properties.ValueSection"
-               afterSection="logic.section.Name"
-               id="logic.section.Value">
-            <input
-                  type="org.eclipse.gef.examples.logicdesigner.model.LED">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="logic.tab.Advanced"
-               class="org.eclipse.ui.views.properties.tabbed.AdvancedPropertySection"
-               id="logic.section.Advanced">
-            <input
-                  type="org.eclipse.gef.examples.logicdesigner.model.LogicElement">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="logic.tab.Element"
-               class="org.eclipse.ui.examples.views.properties.tabbed.logic.properties.NameSection"
-               id="logic.section.Name">
-            <input
-                  type="org.eclipse.gef.examples.logicdesigner.model.LogicElement">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="logic.tab.Location"
-               class="org.eclipse.ui.examples.views.properties.tabbed.logic.properties.LocationSection"
-               id="logic.section.Location">
-            <input
-                  type="org.eclipse.gef.examples.logicdesigner.model.LogicSubpart">
-            </input>
-         </propertySection>
-         <propertySection
-               tab="logic.tab.Size"
-               filter="org.eclipse.ui.examples.views.properties.tabbed.logic.properties.LogicElementSizeFilter"
-               class="org.eclipse.ui.examples.views.properties.tabbed.logic.properties.SizeSection"
-               id="logic.section.Size">
-            <input
-                  type="org.eclipse.gef.examples.logicdesigner.model.LogicSubpart">
-            </input>
-         </propertySection>
-      </propertySections>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/Activator.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/Activator.java
deleted file mode 100644
index 74a5914..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/Activator.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class Activator
-	extends AbstractUIPlugin {
-
-	// The shared instance.
-	private static Activator plugin;
-
-	/**
-	 * The constructor.
-	 */
-	public Activator() {
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context)
-		throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context)
-		throws Exception {
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 * 
-	 * @return the shared instance.
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given plug-in
-	 * relative path.
-	 * 
-	 * @param path
-	 *            the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return AbstractUIPlugin.imageDescriptorFromPlugin(
-			"org.eclipse.ui.examples.views.properties.tabbed.logic", path);//$NON-NLS-1$
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/LogicCreationWizard.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/LogicCreationWizard.java
deleted file mode 100644
index cd13407..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/LogicCreationWizard.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-public class LogicCreationWizard
-    extends Wizard
-    implements INewWizard {
-
-    private LogicWizardPage1 logicPage = null;
-
-    private IStructuredSelection selection;
-
-    private IWorkbench workbench;
-
-    public void addPages() {
-        logicPage = new LogicWizardPage1(workbench, selection);
-        addPage(logicPage);
-    }
-
-    public void init(IWorkbench aWorkbench,
-            IStructuredSelection currentSelection) {
-        workbench = aWorkbench;
-        selection = currentSelection;
-    }
-
-    public boolean performFinish() {
-        return logicPage.finish();
-    }
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/LogicWizardPage1.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/LogicWizardPage1.java
deleted file mode 100644
index 407d96f..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/LogicWizardPage1.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.io.ObjectOutputStream;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.ui.ide.IDE;
-
-import org.eclipse.gef.examples.logicdesigner.model.LogicDiagram;
-import org.eclipse.gef.examples.logicdesigner.model.LogicDiagramFactory;
-
-public class LogicWizardPage1
-    extends WizardNewFileCreationPage
-    implements SelectionListener {
-
-    private IWorkbench workbench;
-
-    private static int exampleCount = 1;
-
-    private Button model1 = null;
-
-    private Button model2 = null;
-
-    private int modelSelected = 1;
-
-    public LogicWizardPage1(IWorkbench aWorkbench,
-            IStructuredSelection selection) {
-        super("sampleLogicPage1", selection); //$NON-NLS-1$
-        this.setTitle("Tabbed Properties View Logic Example");//$NON-NLS-1$
-        this
-            .setDescription("Create a new Tabbed Properties View Logic Example file");//$NON-NLS-1$
-        this.setImageDescriptor(ImageDescriptor.createFromFile(getClass(),
-            "icons/logicbanner.gif")); //$NON-NLS-1$
-        this.workbench = aWorkbench;
-    }
-
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        this
-            .setFileName("emptyModel" + exampleCount + ".tabbedpropertieslogic"); //$NON-NLS-2$//$NON-NLS-1$
-
-        Composite composite = (Composite) getControl();
-
-        // sample section generation group
-        Group group = new Group(composite, SWT.NONE);
-        group.setLayout(new GridLayout());
-        group.setText("Logic Model Samples"); //$NON-NLS-1$
-        group.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
-            | GridData.HORIZONTAL_ALIGN_FILL));
-
-        // sample section generation checkboxes
-        model1 = new Button(group, SWT.RADIO);
-        model1.setText("E&mpty Model");//$NON-NLS-1$
-        model1.addSelectionListener(this);
-        model1.setSelection(true);
-
-        model2 = new Button(group, SWT.RADIO);
-        model2.setText("F&our-bit Adder Model");//$NON-NLS-1$
-        model2.addSelectionListener(this);
-
-        new Label(composite, SWT.NONE);
-
-        setPageComplete(validatePage());
-    }
-
-    protected InputStream getInitialContents() {
-        LogicDiagram ld = new LogicDiagram();
-        if (modelSelected == 2)
-            ld = (LogicDiagram) LogicDiagramFactory.createLargeModel();
-        ByteArrayInputStream bais = null;
-        try {
-            ByteArrayOutputStream baos = new ByteArrayOutputStream();
-            ObjectOutputStream oos = new ObjectOutputStream(baos);
-            oos.writeObject(ld);
-            oos.flush();
-            oos.close();
-            baos.close();
-            bais = new ByteArrayInputStream(baos.toByteArray());
-            bais.close();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return bais;
-    }
-
-    public boolean finish() {
-        IFile newFile = createNewFile();
-        if (newFile == null)
-            return false; // ie.- creation was unsuccessful
-
-        // Since the file resource was created fine, open it for editing
-        // iff requested by the user
-        try {
-            IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
-            IWorkbenchPage page = dwindow.getActivePage();
-            if (page != null)
-                IDE.openEditor(page, newFile, true);
-        } catch (org.eclipse.ui.PartInitException e) {
-            e.printStackTrace();
-            return false;
-        }
-        exampleCount++;
-        return true;
-    }
-
-    /**
-     * @see org.eclipse.swt.events.SelectionListener#widgetSelected(SelectionEvent)
-     */
-    public void widgetSelected(SelectionEvent e) {
-        if (e.getSource() == model1) {
-            modelSelected = 1;
-            setFileName("emptyModel" + exampleCount + ".tabbedpropertieslogic"); //$NON-NLS-2$//$NON-NLS-1$
-        } else {
-            modelSelected = 2;
-            setFileName("fourBitAdder" + exampleCount + ".tabbedpropertieslogic"); //$NON-NLS-2$//$NON-NLS-1$
-        }
-    }
-
-    /**
-     * Empty method
-     */
-    public void widgetDefaultSelected(SelectionEvent e) {
-        //
-    }
-
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/TabbedPropertiesLogicEditor.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/TabbedPropertiesLogicEditor.java
deleted file mode 100644
index a789382..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/TabbedPropertiesLogicEditor.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic;
-
-import org.eclipse.gef.examples.logicdesigner.LogicEditor;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-public class TabbedPropertiesLogicEditor
-    extends LogicEditor
-    implements ITabbedPropertySheetPageContributor {
-
-    private TabbedPropertySheetPage tabbedPropertySheetPage;
-
-    protected void initializeGraphicalViewer() {
-        super.initializeGraphicalViewer();
-        this.tabbedPropertySheetPage = new TabbedPropertySheetPage(this);
-    }
-
-    public String getContributorId() {
-        return getSite().getId();
-    }
-
-    public Object getAdapter(Class type) {
-        if (type == IPropertySheetPage.class)
-            return tabbedPropertySheetPage;
-        return super.getAdapter(type);
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/AbstractSection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/AbstractSection.java
deleted file mode 100644
index eb0b72b..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/AbstractSection.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic.properties;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.examples.logicdesigner.model.LogicElement;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
-
-/**
- * Abstract class for a section in a tab in the properties view.
- * 
- * @author Anthony Hunter 
- */
-public abstract class AbstractSection
-	extends AbstractPropertySection implements PropertyChangeListener {
-
-	private LogicElement element;
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#setInput(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void setInput(IWorkbenchPart part, ISelection selection) {
-		super.setInput(part, selection);
-		Assert.isTrue(selection instanceof IStructuredSelection);
-		Object input = ((IStructuredSelection)selection).getFirstElement();
-		Assert.isTrue(input instanceof EditPart);
-		Object model = ((EditPart) input).getModel();
-		Assert.isTrue(model instanceof LogicElement);
-		this.element = (LogicElement) model;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#aboutToBeShown()
-	 */
-	public void aboutToBeShown() {
-		getElement().addPropertyChangeListener(this);
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#aboutToBeHidden()
-	 */
-	public void aboutToBeHidden() {
-		getElement().removePropertyChangeListener(this);
-	}
-
-	/**
-	 * Get the element.
-	 * @return the element.
-	 */
-	public LogicElement getElement() {
-		return element;
-	}
-
-	/**
-	 * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent evt) {
-		refresh();
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LocationSection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LocationSection.java
deleted file mode 100644
index 3049fa2..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LocationSection.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic.properties;
-
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.examples.logicdesigner.model.LogicSubpart;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-
-/**
- * The location section on the location tab.
- * 
- * @author Anthony Hunter 
- */
-public class LocationSection extends AbstractSection {
-	private Text xText;
-	private Text yText;
-
-	/**
-	 * A helper to listen for events that indicate that a text
-	 * field has been changed.
-	 */
-	private TextChangeHelper listener = new TextChangeHelper() {
-		public void textChanged(Control control) {
-			Point point = new Point();
-			point.x = Integer.parseInt(xText.getText());
-			point.y = Integer.parseInt(yText.getText());
-			((LogicSubpart) getElement()).setLocation(point);
-		}
-	};
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage tabbedPropertySheetPage) {
-		super.createControls(parent, tabbedPropertySheetPage);
-		Composite composite =
-			getWidgetFactory().createFlatFormComposite(parent);
-		FormData data;
-
-		xText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH);
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, 0);
-		xText.setLayoutData(data);
-
-		CLabel xLabel = getWidgetFactory().createCLabel(composite, "X:"); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right =
-			new FormAttachment(xText, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(xText, 0, SWT.CENTER);
-		xLabel.setLayoutData(data);
-
-		yText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(xText, 0, SWT.LEFT);
-		data.right = new FormAttachment(xText, 0, SWT.RIGHT);
-		data.top =
-			new FormAttachment(
-				xText,
-				ITabbedPropertyConstants.VSPACE,
-				SWT.BOTTOM);
-		yText.setLayoutData(data);
-
-		CLabel yLabel = getWidgetFactory().createCLabel(composite, "Y:"); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right =
-			new FormAttachment(yText, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(yText, 0, SWT.CENTER);
-		yLabel.setLayoutData(data);
-
-		listener.startListeningForEnter(xText);
-		listener.startListeningTo(xText);
-		listener.startListeningForEnter(yText);
-		listener.startListeningTo(yText);
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh() {
-		Assert.isTrue(getElement() instanceof LogicSubpart);
-		listener.startNonUserChange();
-		try {
-			Point point = ((LogicSubpart) getElement()).getLocation();
-			xText.setText(Integer.toString(point.x));
-			yText.setText(Integer.toString(point.y));
-		} finally {
-			listener.finishNonUserChange();
-		}
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementLabelProvider.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementLabelProvider.java
deleted file mode 100644
index 57ea088..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementLabelProvider.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic.properties;
-
-import java.util.Iterator;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.examples.logicdesigner.model.Circuit;
-import org.eclipse.gef.examples.logicdesigner.model.LogicElement;
-import org.eclipse.gef.examples.logicdesigner.model.LogicSubpart;
-import org.eclipse.gef.examples.logicdesigner.model.Wire;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.views.properties.tabbed.ITypeMapper;
-
-/**
- * Label provider for the title bar for the tabbed property sheet page.
- * 
- * @author Anthony Hunter
- */
-public class LogicElementLabelProvider
-	extends LabelProvider {
-
-	private ITypeMapper typeMapper;
-
-	/**
-	 * constructor.
-	 */
-	public LogicElementLabelProvider() {
-		super();
-		typeMapper = new LogicElementTypeMapper();
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object objects) {
-		if (objects == null || objects.equals(StructuredSelection.EMPTY)) {
-			return null;
-		}
-		final boolean multiple[] = {false};
-		Object object = getObject(objects, multiple);
-		if (object == null) {
-			ImageDescriptor imageDescriptor = ImageDescriptor.createFromFile(
-				Circuit.class, "icons/comp.gif");//$NON-NLS-1$
-			return imageDescriptor.createImage();
-		} else {
-			if (!(object instanceof EditPart)) {
-				return null;
-			}
-			LogicElement element = (LogicElement) ((EditPart) object)
-				.getModel();
-			if (element instanceof Wire) {
-				ImageDescriptor imageDescriptor = ImageDescriptor
-					.createFromFile(Circuit.class, "icons/connection16.gif");//$NON-NLS-1$
-				return imageDescriptor.createImage();
-			}
-			return ((LogicSubpart) element).getIconImage();
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-	 */
-	public String getText(Object objects) {
-		if (objects == null || objects.equals(StructuredSelection.EMPTY)) {
-			return "No items selected";//$NON-NLS-1$
-		}
-		final boolean multiple[] = {false};
-		final Object object = getObject(objects, multiple);
-		if (object == null || ((IStructuredSelection) objects).size() > 1) {
-			return ((IStructuredSelection) objects).size() + " items selected";//$NON-NLS-1$
-		} else {
-			String name = typeMapper.mapType(object).getName();
-			return name.substring(name.lastIndexOf('.') + 1);
-		}
-	}
-
-	/**
-	 * Determine if a multiple object selection has been passed to the label
-	 * provider. If the objects is a IStructuredSelection, see if all the
-	 * objects in the selection are the same and if so, we want to provide
-	 * labels for the common selected element.
-	 * 
-	 * @param objects
-	 *            a single object or a IStructuredSelection.
-	 * @param multiple
-	 *            first element in the array is true if there is multiple
-	 *            unequal selected elements in a IStructuredSelection.
-	 * @return the object to get labels for.
-	 */
-	private Object getObject(Object objects, boolean multiple[]) {
-		Assert.isNotNull(objects);
-		Object object = null;
-		if (objects instanceof IStructuredSelection) {
-			IStructuredSelection selection = (IStructuredSelection) objects;
-			object = selection.getFirstElement();
-			if (selection.size() == 1) {
-				// one element selected
-				multiple[0] = false;
-				return object;
-			}
-			// multiple elements selected
-			multiple[0] = true;
-			Class firstClass = typeMapper.mapType(object);
-			// determine if all the objects in the selection are the same type
-			if (selection.size() > 1) {
-				for (Iterator i = selection.iterator(); i.hasNext();) {
-					Object next = i.next();
-					Class nextClass = typeMapper.mapType(next);
-					if (!nextClass.equals(firstClass)) {
-						// two elements not equal == multiple selected unequal
-						multiple[0] = false;
-						object = null;
-						break;
-					}
-				}
-			}
-		} else {
-			multiple[0] = false;
-			object = objects;
-		}
-		return object;
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementSizeFilter.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementSizeFilter.java
deleted file mode 100644
index 92390c6..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementSizeFilter.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic.properties;
-
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.examples.logicdesigner.model.LogicElement;
-import org.eclipse.gef.examples.logicdesigner.model.LogicSubpart;
-import org.eclipse.jface.viewers.IFilter;
-
-/**
- * Filter for the size section, do not display when the size cannot be modified.
- * 
- * @author Anthony Hunter
- */
-public class LogicElementSizeFilter
-	implements IFilter {
-
-	/**
-	 * @inheritDoc
-	 */
-	public boolean select(Object object) {
-		if (object instanceof EditPart) {
-			LogicElement element = (LogicElement) ((EditPart) object)
-				.getModel();
-			if (element instanceof LogicSubpart) {
-				Dimension dimension = ((LogicSubpart) element).getSize();
-				if (dimension.width != -1 && dimension.height != -1) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementTypeMapper.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementTypeMapper.java
deleted file mode 100644
index 5e2edcf..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/LogicElementTypeMapper.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic.properties;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.ui.views.properties.tabbed.ITypeMapper;
-
-/**
- * Type mapper for the logic example. We want to get the GEF model
- * object from the selected element in the outline view and the diagram.
- * We can then filter on the model object type.
- * 
- * @author Anthony Hunter 
- */
-public class LogicElementTypeMapper
-	implements ITypeMapper {
-
-	/**
-	 * @inheritDoc 
-	 */
-	public Class mapType(Object object) {
-		Class type = object.getClass();
-		if (object instanceof EditPart) {
-			type = ((EditPart) object).getModel().getClass();
-		}
-		return type;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/NameSection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/NameSection.java
deleted file mode 100644
index 8942956..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/NameSection.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic.properties;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * The name section on the element tab.
- * 
- * @author Anthony Hunter
- */
-public class NameSection
-	extends AbstractSection {
-
-	Text nameText;
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage tabbedPropertySheetPage) {
-		super.createControls(parent, tabbedPropertySheetPage);
-		Composite composite = getWidgetFactory()
-			.createFlatFormComposite(parent);
-		FormData data;
-
-		nameText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		nameText.setEditable(false);
-		data = new FormData();
-		data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH);
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, 0);
-		nameText.setLayoutData(data);
-
-		CLabel nameLabel = getWidgetFactory().createCLabel(composite, "Name:"); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(nameText,
-			-ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(nameText, 0, SWT.CENTER);
-		nameLabel.setLayoutData(data);
-	}
-
-	/*
-	 * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh() {
-		nameText.setText((getElement()).toString());
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/SizeSection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/SizeSection.java
deleted file mode 100644
index 6dd109a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/SizeSection.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic.properties;
-
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.gef.examples.logicdesigner.model.LogicSubpart;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * The size section on the size tab. TODO: Properties View for Aurora (Anthony
- * Hunter)
- * 
- * @author Anthony Hunter
- */
-public class SizeSection
-	extends AbstractSection {
-
-	Text widthText;
-
-	Text heightText;
-
-	/**
-	 * A helper to listen for events that indicate that a text field has been
-	 * changed.
-	 */
-	private TextChangeHelper listener = new TextChangeHelper() {
-
-		public void textChanged(Control control) {
-			Dimension dimension = new Dimension();
-			dimension.width = Integer.parseInt(widthText.getText());
-			dimension.height = Integer.parseInt(heightText.getText());
-			((LogicSubpart) getElement()).setSize(dimension);
-		}
-	};
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite,
-	 *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(Composite parent,
-			TabbedPropertySheetPage tabbedPropertySheetPage) {
-		super.createControls(parent, tabbedPropertySheetPage);
-		Composite composite = getWidgetFactory()
-			.createFlatFormComposite(parent);
-		FormData data;
-
-		widthText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH);
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, 0);
-		widthText.setLayoutData(data);
-
-		CLabel widthLabel = getWidgetFactory()
-			.createCLabel(composite, "Width:"); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(widthText,
-			-ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(widthText, 0, SWT.CENTER);
-		widthLabel.setLayoutData(data);
-
-		heightText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(widthText, 0, SWT.LEFT);
-		data.right = new FormAttachment(widthText, 0, SWT.RIGHT);
-		data.top = new FormAttachment(widthText,
-			ITabbedPropertyConstants.VSPACE, SWT.BOTTOM);
-		heightText.setLayoutData(data);
-
-		CLabel heightLabel = getWidgetFactory().createCLabel(composite,
-			"Height:"); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(heightText,
-			-ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(heightText, 0, SWT.CENTER);
-		heightLabel.setLayoutData(data);
-
-		listener.startListeningForEnter(heightText);
-		listener.startListeningTo(heightText);
-		listener.startListeningForEnter(widthText);
-		listener.startListeningTo(widthText);
-	}
-
-	/*
-	 * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh() {
-		Assert.isTrue(getElement() instanceof LogicSubpart);
-		listener.startNonUserChange();
-		try {
-			Dimension dimension = ((LogicSubpart) getElement()).getSize();
-			widthText.setText(Integer.toString(dimension.width));
-			heightText.setText(Integer.toString(dimension.height));
-		} finally {
-			listener.finishNonUserChange();
-		}
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/TextChangeHelper.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/TextChangeHelper.java
deleted file mode 100644
index c9a566a..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/TextChangeHelper.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic.properties;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-
-/**
- * TextChangeHelper notifies the listner of text lifecycle events 
- * on behalf of the widget(s) it listens to. 
- * 
- * @author Anthony Hunter
- */
-public abstract class TextChangeHelper implements Listener {
-	
-	private boolean nonUserChange;
-
-	/**
-	 * Marks the start of a programmatic change to the widget contents.
-	 * Clients must call startNonUserChange() before directly setting 
-	 * the widget contents to avoid unwanted lifecycle events.
-	 * @throws IllegalArgumentException if a programmatic change is 
-	 * already in progress.
-	 */
-	public void startNonUserChange() {
-		if (nonUserChange)
-			throw new IllegalStateException("we already started a non user change");//$NON-NLS-1$
-		nonUserChange = true;
-	}
-
-	/**
-	 * Clients who call startNonUserChange() should call 
-	 * finishNonUserChange() as soon as possible after the change is done.
-	 * @throws IllegalArgumentException if no change is in progress.
-	 */
-	public void finishNonUserChange() {
-		if (!nonUserChange)
-			throw new IllegalStateException("we are not in a non user change");//$NON-NLS-1$
-		nonUserChange = false;
-	}
-
-	/**
-	 * Returns true if a programmatic change is in progress.
-	 */
-	public boolean isNonUserChange() {
-		return nonUserChange;
-	}
-
-	/**
-	 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-	 */
-	public void handleEvent(Event event) {
-		switch (event.type) {
-			case SWT.KeyDown :
-				if (event.character == SWT.CR)
-					textChanged((Control)event.widget);
-				break;
-			case SWT.FocusOut :
-				textChanged((Control)event.widget);
-				break;
-		}
-	}
-
-	/**
-	 * Abstract method notified when a text field has been changed.
-	 * @param control
-	 */
-	public abstract void textChanged(Control control);
-
-	/**
-	 * Registers this helper with the given control to listen for events
-	 * which indicate that a change is in progress (or done).
-	 */
-	public void startListeningTo(Control control) {
-		control.addListener(SWT.FocusOut, this);
-		control.addListener(SWT.Modify, this);
-	}
-
-	/**
-	 * Registers this helper with the given control to listen for the
-	 * Enter key.  When Enter is pressed, the change is considered done 
-	 * (this is only appropriate for single-line Text widgets).
-	 */
-	public void startListeningForEnter(Control control) {
-		// NOTE: KeyDown rather than KeyUp, because of similar usage in CCombo. 
-		control.addListener(SWT.KeyDown, this);
-	}
-
-	/**
-	 * Unregisters this helper from a control previously passed to
-	 * startListeningTo() and/or startListeningForEnter().
-	 */
-	public void stopListeningTo(Control control) {
-		control.removeListener(SWT.FocusOut, this);
-		control.removeListener(SWT.Modify, this);
-		control.removeListener(SWT.KeyDown, this);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/ValueSection.java b/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/ValueSection.java
deleted file mode 100644
index 0195d44..0000000
--- a/examples/org.eclipse.ui.examples.views.properties.tabbed.logic/src/org/eclipse/ui/examples/views/properties/tabbed/logic/properties/ValueSection.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.views.properties.tabbed.logic.properties;
-
-import org.eclipse.gef.examples.logicdesigner.model.LED;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * The value section on the element tab.
- * 
- * @author Anthony Hunter
- */
-public class ValueSection extends AbstractSection {
-
-	Text valueText;
-
-	/**
-	 * A helper to listen for events that indicate that a text
-	 * field has been changed.
-	 */
-	private TextChangeHelper listener = new TextChangeHelper() {
-		public void textChanged(Control control) {
-			((LED) getElement()).setValue(
-				Integer.parseInt(valueText.getText()));
-		}
-	};
-
-	/**
-	 * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite, org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-	 */
-	public void createControls(
-		Composite parent,
-		TabbedPropertySheetPage tabbedPropertySheetPage) {
-		super.createControls(parent, tabbedPropertySheetPage);
-		
-		Composite composite =
-			getWidgetFactory().createFlatFormComposite(parent);
-		FormData data;
-
-		valueText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH);
-		data.right = new FormAttachment(100, 0);
-		data.top = new FormAttachment(0, 0);
-		valueText.setLayoutData(data);
-
-		CLabel valueLabel = getWidgetFactory().createCLabel(composite, "Value:"); //$NON-NLS-1$
-		data = new FormData();
-		data.left = new FormAttachment(0, 0);
-		data.right =
-			new FormAttachment(valueText, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(valueText, 0, SWT.CENTER);
-		valueLabel.setLayoutData(data);
-
-		listener.startListeningForEnter(valueText);
-		listener.startListeningTo(valueText);
-	}
-
-	/*
-	 * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#refresh()
-	 */
-	public void refresh() {
-		Assert.isTrue(getElement() instanceof LED);
-		listener.startNonUserChange();
-		try {
-			valueText.setText(
-				Integer.toString(((LED) getElement()).getValue()));
-		} finally {
-			listener.finishNonUserChange();
-		}
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/.classpath b/examples/org.eclipse.ui.forms.examples/.classpath
deleted file mode 100644
index 065ac06..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 0039091..0000000
--- a/examples/org.eclipse.ui.forms.examples/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.forms.examples</name>
-	<comment></comment>
-	<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/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 5709915..0000000
--- a/examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,48 +0,0 @@
-#Mon May 16 16:39:49 EDT 2005
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
diff --git a/examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 817d509..0000000
--- a/examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon May 16 16:39:49 EDT 2005
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index b4438da..0000000
--- a/examples/org.eclipse.ui.forms.examples/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Mon May 16 16:39:49 EDT 2005
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.ui.forms.examples/about.html b/examples/org.eclipse.ui.forms.examples/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/examples/org.eclipse.ui.forms.examples/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
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 ce0f7dd..0000000
--- a/examples/org.eclipse.ui.forms.examples/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.examples.jar = src/
-bin.includes = plugin.xml,\
-               *.jar,\
-               examples.jar,\
-               icons/,\
-               about.html
-output.examples.jar = bin/
diff --git a/examples/org.eclipse.ui.forms.examples/icons/clear.gif b/examples/org.eclipse.ui.forms.examples/icons/clear.gif
deleted file mode 100644
index 6bc10f9..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/clear.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/close_view.gif b/examples/org.eclipse.ui.forms.examples/icons/close_view.gif
deleted file mode 100644
index 1aca259..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/close_view.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/container_obj.gif b/examples/org.eclipse.ui.forms.examples/icons/container_obj.gif
deleted file mode 100644
index f32c28d..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/container_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/e_search_menu.gif b/examples/org.eclipse.ui.forms.examples/icons/e_search_menu.gif
deleted file mode 100644
index f0f5d83..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/e_search_menu.gif
+++ /dev/null
Binary files differ
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/help.gif b/examples/org.eclipse.ui.forms.examples/icons/help.gif
deleted file mode 100644
index 9d70301..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/help.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/help_topic.gif b/examples/org.eclipse.ui.forms.examples/icons/help_topic.gif
deleted file mode 100644
index 9bdd516..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/help_topic.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/linkto_help.gif b/examples/org.eclipse.ui.forms.examples/icons/linkto_help.gif
deleted file mode 100644
index 86550fe..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/linkto_help.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/newprj_wiz.gif b/examples/org.eclipse.ui.forms.examples/icons/newprj_wiz.gif
deleted file mode 100644
index dc7d3a7..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/newprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/nw.gif b/examples/org.eclipse.ui.forms.examples/icons/nw.gif
deleted file mode 100644
index d0952a8..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/nw.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/progress.gif b/examples/org.eclipse.ui.forms.examples/icons/progress.gif
deleted file mode 100644
index f6a200f..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/progress.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/icons/toc_closed.gif b/examples/org.eclipse.ui.forms.examples/icons/toc_closed.gif
deleted file mode 100644
index 504acb2..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/toc_closed.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/toc_open.gif b/examples/org.eclipse.ui.forms.examples/icons/toc_open.gif
deleted file mode 100644
index 9e665d5..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/toc_open.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/topic_small.gif b/examples/org.eclipse.ui.forms.examples/icons/topic_small.gif
deleted file mode 100644
index 17d8b2e..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/topic_small.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 94ed361..0000000
--- a/examples/org.eclipse.ui.forms.examples/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Examples of Eclipse Forms
-baseEditor = Simple Form (RCP) Editor
-singleHeaderEditor = Single Header Editor
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 c8eb601..0000000
--- a/examples/org.eclipse.ui.forms.examples/plugin.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.forms.examples"
-   name="%pluginName"
-   version="3.1.0"
-   provider-name="Eclipse.org"
-   class="org.eclipse.ui.forms.examples.internal.ExamplesPlugin">
-
-   <runtime>
-      <library name="examples.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.ui.forms"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui.ide"/>
-   </requires>
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            id="org.eclipse.ui.forms.examples.category"
-            name="Eclipse Forms Examples">
-      </category>
-      <command
-            categoryId="org.eclipse.ui.forms.examples.category"
-            defaultHandler="org.eclipse.ui.forms.examples.internal.rcp.OpenSimpleFormEditorAction"
-            id="org.eclipse.ui.forms.examples.simple"
-            name="Simple Form Editor">
-      </command>
-      <command
-            categoryId="org.eclipse.ui.forms.examples.category"
-            defaultHandler="org.eclipse.ui.forms.examples.internal.rcp.OpenSingleHeaderEditorAction"
-            id="org.eclipse.ui.forms.examples.singleHeader"
-            name="Single Header Editor">
-      </command>
-      <command
-            categoryId="org.eclipse.ui.forms.examples.category"
-            defaultHandler="org.eclipse.ui.forms.examples.internal.dialogs.OpenFormDialog"
-            id="org.eclipse.ui.forms.examples.openDialog"
-            name="Open Form Dialog...">
-      </command>
-   </extension>
-
-
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%baseEditor"
-            default="true"
-            icon="icons/file_obj.gif"
-            class="org.eclipse.ui.forms.examples.internal.rcp.SimpleFormEditor"
-            id="org.eclipse.ui.forms.examples.base-editor">
-      </editor>
-      <editor
-            name="%singleHeaderEditor"
-            default="true"
-            icon="icons/file_obj.gif"
-            class="org.eclipse.ui.forms.examples.internal.rcp.SingleHeaderEditor"
-            id="org.eclipse.ui.forms.examples.single-header-editor">
-      </editor>      
-   </extension>
-   <extension
-         point="org.eclipse.ui.menus">
-      <menuContribution
-            locationURI="menu:org.eclipse.ui.main.menu">
-         <menu
-               label="Form Editors">
-            <command
-                  commandId="org.eclipse.ui.forms.examples.simple"
-                  style="push">
-            </command>
-            <command
-                  commandId="org.eclipse.ui.forms.examples.singleHeader"
-                  style="push">
-            </command>
-            <command
-                  commandId="org.eclipse.ui.forms.examples.openDialog"
-                  style="push">
-            </command>
-         </menu>
-      </menuContribution>
-   </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>
-   <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>
-</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 269726d..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPlugin.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal;
-import java.net.URL;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-/**
- * The main plugin class to be used in the desktop.
- */
-public class ExamplesPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static ExamplesPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	private FormColors formColors;
-	public static final String IMG_FORM_BG = "formBg";
-	public static final String IMG_LARGE = "large";
-	public static final String IMG_HORIZONTAL = "horizontal";
-	public static final String IMG_VERTICAL = "vertical";
-	public static final String IMG_SAMPLE = "sample";
-	public static final String IMG_WIZBAN = "wizban";
-	public static final String IMG_LINKTO_HELP = "linkto_help";
-	public static final String IMG_HELP_TOPIC = "help_topic";
-	public static final String IMG_CLOSE = "close";
-	public static final String IMG_HELP_CONTAINER = "container_obj";
-	public static final String IMG_HELP_TOC_OPEN = "toc_open";
-	public static final String IMG_HELP_TOC_CLOSED = "toc_closed";
-	public static final String IMG_HELP_SEARCH = "e_search_menu";
-	public static final String IMG_CLEAR = "clear";
-	public static final String IMG_NW = "nw";
-
-	/**
-	 * The constructor.
-	 */
-	public ExamplesPlugin() {
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle
-					.getBundle("org.eclipse.ui.forms.examples.internal.ExamplesPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	protected void initializeImageRegistry(ImageRegistry registry) {
-		registerImage(registry, IMG_FORM_BG, "form_banner.gif");
-		registerImage(registry, IMG_LARGE, "large_image.gif");
-		registerImage(registry, IMG_HORIZONTAL, "th_horizontal.gif");
-		registerImage(registry, IMG_VERTICAL, "th_vertical.gif");
-		registerImage(registry, IMG_SAMPLE, "sample.gif");
-		registerImage(registry, IMG_WIZBAN, "newprj_wiz.gif");
-		registerImage(registry, IMG_LINKTO_HELP, "linkto_help.gif");
-		registerImage(registry, IMG_HELP_TOPIC, "topic.gif");
-		registerImage(registry, IMG_HELP_CONTAINER, "container_obj.gif");
-		registerImage(registry, IMG_HELP_TOC_CLOSED, "toc_closed.gif");
-		registerImage(registry, IMG_HELP_TOC_OPEN, "toc_open.gif");
-		registerImage(registry, IMG_CLOSE, "close_view.gif");
-		registerImage(registry, IMG_HELP_SEARCH, "e_search_menu.gif");
-		registerImage(registry, IMG_CLEAR, "clear.gif");
-		registerImage(registry, IMG_NW, "nw.gif");
-	}
-
-	private void registerImage(ImageRegistry registry, String key,
-			String fileName) {
-		try {
-			IPath path = new Path("icons/" + fileName);
-			URL url = FileLocator.find(getBundle(), path, null);
-			if (url!=null) {
-				ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-				registry.put(key, desc);
-			}
-		} catch (Exception e) {
-		}
-	}
-
-	public FormColors getFormColors(Display display) {
-		if (formColors == null) {
-			formColors = new FormColors(display);
-			formColors.markShared();
-		}
-		return formColors;
-	}
-	/**
-	 * Returns the shared instance.
-	 */
-	public static ExamplesPlugin getDefault() {
-		return plugin;
-	}
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-	/**
-	 * Returns the string from the plugin's resource bundle, or 'key' if not
-	 * found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = ExamplesPlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null ? bundle.getString(key) : key);
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-	public void stop(BundleContext context) throws Exception {
-		try {
-			if (formColors != null) {
-				formColors.dispose();
-				formColors = null;
-			}
-		} finally {
-			super.stop(context);
-		}
-	}
-	public Image getImage(String key) {
-		return getImageRegistry().get(key);
-	}
-	public ImageDescriptor getImageDescriptor(String key) {
-		return getImageRegistry().getDescriptor(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 339810c..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPluginResources.properties
+++ /dev/null
@@ -1,10 +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 Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
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 5d7dbc5..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/FormEditorInput.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.*;
-
-public class FormEditorInput implements IEditorInput {
-	private String name;
-	public FormEditorInput(String name) {
-		this.name = name;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IEditorInput#exists()
-	 */
-	public boolean exists() {
-		return true;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IEditorInput#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(
-				ISharedImages.IMG_OBJ_ELEMENT);
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IEditorInput#getName()
-	 */
-	public String getName() {
-		return name;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IEditorInput#getPersistable()
-	 */
-	public IPersistableElement getPersistable() {
-		return null;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IEditorInput#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return getName();
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-}
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 02cd146..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/OpenFormEditorAction.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-
-public abstract class OpenFormEditorAction extends AbstractHandler {
-
-	protected Object openEditor(String inputName, String editorId, IWorkbenchWindow window) {
-		return openEditor(new FormEditorInput(inputName), editorId, window);
-	}
-	
-	protected Object openEditor(IEditorInput input, String editorId, IWorkbenchWindow window) {
-		IWorkbenchPage page = window.getActivePage();
-		try {
-			page.openEditor(input, editorId);
-		} catch (PartInitException e) {
-			System.out.println(e);
-		}
-		return null;
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/dialogs/OpenFormDialog.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/dialogs/OpenFormDialog.java
deleted file mode 100644
index 5b3df3d..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/dialogs/OpenFormDialog.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.dialogs;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-public class OpenFormDialog extends AbstractHandler {
-
-	public Object execute(ExecutionEvent event) throws ExecutionException {
-		IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
-		SampleFormDialog dialog = new SampleFormDialog(window.getShell());
-		dialog.create();
-		dialog.getShell().setText("Sample Form Dialog");
-		dialog.getShell().setSize(500,500);
-		dialog.getShell().setLocation(100, 300);
-		dialog.open();
-		return null;
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/dialogs/SampleFormDialog.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/dialogs/SampleFormDialog.java
deleted file mode 100644
index 5ff3c25..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/dialogs/SampleFormDialog.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.forms.examples.internal.dialogs;
-
-import org.eclipse.jface.window.IShellProvider;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.FormDialog;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.examples.internal.rcp.FreeFormPage;
-
-public class SampleFormDialog extends FormDialog {
-
-	public SampleFormDialog(Shell shell) {
-		super(shell);
-	}
-
-	public SampleFormDialog(IShellProvider parentShell) {
-		super(parentShell);
-	}
-
-	protected void createFormContent(IManagedForm mform) {
-		mform.getForm().setText("An example of a simple form dialog");
-		FreeFormPage.createSharedFormContent(mform);
-		mform.getForm().setBackgroundImage(null);
-		mform.getToolkit().decorateFormHeading(mform.getForm().getForm());
-		mform.getForm().setImage(
-				PlatformUI.getWorkbench().getSharedImages().getImage(
-						ISharedImages.IMG_OBJ_ELEMENT));
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ErrorMessagesPage.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ErrorMessagesPage.java
deleted file mode 100644
index 4df0dd5..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ErrorMessagesPage.java
+++ /dev/null
@@ -1,358 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-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.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.HyperlinkSettings;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.IMessage;
-import org.eclipse.ui.forms.IMessageManager;
-import org.eclipse.ui.forms.editor.FormEditor;
-import org.eclipse.ui.forms.editor.FormPage;
-import org.eclipse.ui.forms.events.HyperlinkAdapter;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.widgets.Form;
-import org.eclipse.ui.forms.widgets.FormText;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.forms.widgets.TableWrapLayout;
-
-/**
- * This page shows how to use the message manager to handle errors in a form
- * page.
- * 
- * @since 3.3
- */
-public class ErrorMessagesPage extends FormPage {
-
-	/*
-	private RichMessageToolTipManager richToolTipMessageManager;
-	class RichToolTip extends ToolTip {
-		private IManagedForm mform;
-		private FormText text;
-		private String content;
-
-		public RichToolTip(IManagedForm mform, Control control) {
-			super(control);
-			this.mform = mform;
-			setShift(new Point(10, 10));
-		}
-
-		protected Composite createToolTipContentArea(Event event,
-				Composite parent) {
-			this.text = mform.getToolkit().createFormText(parent, true);
-			configureFormText(mform.getForm().getForm(), text);
-			update();
-			return text;
-		}
-
-		public void update(String content) {
-			if (content == null) {
-				// hide
-				deactivate();
-			} else {
-				activate();
-				this.content = content;
-				update();
-			}
-		}
-
-		private void update() {
-			if (text != null && text.isDisposed())
-				text = null;
-			if (text != null) {
-				if (content != null)
-					text.setText(content, true, false);
-				else
-					text.setText("", false, false);
-			}
-		}
-	}
-
-	class RichMessageToolTipManager implements IMessageToolTipManager {
-		private ArrayList toolTips = new ArrayList();
-		private IManagedForm mform;
-
-		public RichMessageToolTipManager(IManagedForm mform) {
-			this.mform = mform;
-		}
-
-		public void createToolTip(Control control, boolean imageLabel) {
-			ToolTip toolTip = new RichToolTip(mform, control);
-			toolTips.add(toolTip);
-		}
-
-		public void setActive(boolean active) {
-			for (int i = 0; i < toolTips.size(); i++) {
-				RichToolTip toolTip = (RichToolTip) toolTips.get(i);
-				if (active)
-					toolTip.activate();
-				else
-					toolTip.deactivate();
-			}
-		}
-
-		public void update() {
-			IMessage[] messages = mform.getForm().getForm()
-					.getChildrenMessages();
-			String content = mform.getForm().getMessage() == null ? null
-					: createFormTextContent(messages);
-			for (int i = 0; i < toolTips.size(); i++) {
-				RichToolTip toolTip = (RichToolTip) toolTips.get(i);
-				toolTip.update(content);
-			}
-		}
-	}
-	
-	*/
-
-	/**
-	 * @param id
-	 * @param title
-	 */
-	public ErrorMessagesPage(FormEditor editor) {
-		super(editor, "messageManager", "Message Manager");
-	}
-
-	protected void createFormContent(final IManagedForm managedForm) {
-		final ScrolledForm form = managedForm.getForm();
-		final FormToolkit toolkit = managedForm.getToolkit();
-		toolkit.getHyperlinkGroup().setHyperlinkUnderlineMode(
-				HyperlinkSettings.UNDERLINE_HOVER);
-		form.setText("Example with message handling");
-		toolkit.decorateFormHeading(form.getForm());
-		form.getForm().addMessageHyperlinkListener(new HyperlinkAdapter() {
-			public void linkActivated(HyperlinkEvent e) {
-				String title = e.getLabel();
-				// String details = title;
-				Object href = e.getHref();
-				if (href instanceof IMessage[]) {
-					// details =
-					// managedForm.getMessageManager().createSummary((IMessage[])href);
-				}
-				// int type = form.getForm().getMessageType();
-				/*
-				 * switch (type) { case IMessageProvider.NONE: case
-				 * IMessageProvider.INFORMATION:
-				 * MessageDialog.openInformation(form.getShell(), title,
-				 * details); break; case IMessageProvider.WARNING:
-				 * MessageDialog.openWarning(form.getShell(), title, details);
-				 * break; case IMessageProvider.ERROR:
-				 * MessageDialog.openError(form.getShell(), title, details);
-				 * break; }
-				 */
-				Point hl = ((Control) e.widget).toDisplay(0, 0);
-				hl.x += 10;
-				hl.y += 10;
-				Shell shell = new Shell(form.getShell(), SWT.ON_TOP | SWT.TOOL);
-				shell.setImage(getImage(form.getMessageType()));
-				shell.setText(title);
-				shell.setLayout(new FillLayout());
-				// ScrolledFormText stext = new ScrolledFormText(shell, false);
-				// stext.setBackground(toolkit.getColors().getBackground());
-				FormText text = toolkit.createFormText(shell, true);
-				configureFormText(form.getForm(), text);
-				// stext.setFormText(text);
-				if (href instanceof IMessage[])
-					text.setText(createFormTextContent((IMessage[]) href),
-							true, false);
-				shell.setLocation(hl);
-				// Point size = shell.computeSize(400, SWT.DEFAULT);
-				/*
-				richToolTipMessageManager.setActive(false);
-				shell.addDisposeListener(new DisposeListener() {
-					public void widgetDisposed(DisposeEvent e) {
-						richToolTipMessageManager.setActive(true);
-					}
-				});
-				*/
-				shell.pack();
-				shell.open();
-			}
-		});
-
-		//richToolTipMessageManager = new RichMessageToolTipManager(managedForm);
-		//form.getForm().setMessageToolTipManager(richToolTipMessageManager);
-
-		final IMessageManager mmng = managedForm.getMessageManager();
-
-		TableWrapLayout layout = new TableWrapLayout();
-		form.getBody().setLayout(layout);
-		Section section = toolkit.createSection(form.getBody(),
-				Section.TITLE_BAR);
-		section.setText("Local field messages");
-		Composite sbody = toolkit.createComposite(section);
-		section.setClient(sbody);
-		GridLayout glayout = new GridLayout();
-		glayout.horizontalSpacing = 10;
-		glayout.numColumns = 2;
-		sbody.setLayout(glayout);
-		toolkit.paintBordersFor(sbody);
-		createDecoratedTextField("Field1", toolkit, sbody, mmng);
-		createDecoratedTextField("Field2", toolkit, sbody, mmng);
-		createDecoratedTextField("Field3", toolkit, sbody, mmng);
-		final Button button1 = toolkit.createButton(form.getBody(),
-				"Add general error", SWT.CHECK);
-		button1.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (button1.getSelection()) {
-					mmng.addMessage("saveError", "Save Error", null,
-							IMessageProvider.ERROR);
-				} else {
-					mmng.removeMessage("saveError");
-				}
-			}
-		});
-		final Button button2 = toolkit.createButton(form.getBody(),
-				"Add static message", SWT.CHECK);
-		button2.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (button2.getSelection()) {
-					mmng.addMessage("info", "Secondary info", null,
-							IMessageProvider.NONE);
-				} else {
-					mmng.removeMessage("info");
-				}
-			}
-		});
-	}
-
-	private Image getImage(int type) {
-		switch (type) {
-		case IMessageProvider.ERROR:
-			return PlatformUI.getWorkbench().getSharedImages().getImage(
-					ISharedImages.IMG_OBJS_ERROR_TSK);
-		case IMessageProvider.WARNING:
-			return PlatformUI.getWorkbench().getSharedImages().getImage(
-					ISharedImages.IMG_OBJS_WARN_TSK);
-		case IMessageProvider.INFORMATION:
-			return PlatformUI.getWorkbench().getSharedImages().getImage(
-					ISharedImages.IMG_OBJS_INFO_TSK);
-		}
-		return null;
-	}
-
-	private void configureFormText(final Form form, FormText text) {
-		text.addHyperlinkListener(new HyperlinkAdapter() {
-			public void linkActivated(HyperlinkEvent e) {
-				String is = (String)e.getHref();
-				try {
-					int index = Integer.parseInt(is);
-					IMessage [] messages = form.getChildrenMessages();
-					IMessage message =messages[index];
-					Control c = message.getControl();
-					((FormText)e.widget).getShell().dispose();
-					if (c!=null)
-						c.setFocus();
-				}
-				catch (NumberFormatException ex) {
-				}
-			}
-		});
-		text.setImage("error", getImage(IMessageProvider.ERROR));
-		text.setImage("warning", getImage(IMessageProvider.WARNING));
-		text.setImage("info", getImage(IMessageProvider.INFORMATION));
-	}
-
-	String createFormTextContent(IMessage[] messages) {
-		StringWriter sw = new StringWriter();
-		PrintWriter pw = new PrintWriter(sw);
-		pw.println("<form>");
-		for (int i = 0; i < messages.length; i++) {
-			IMessage message = messages[i];
-			pw
-					.print("<li vspace=\"false\" style=\"image\" indent=\"16\" value=\"");
-			switch (message.getMessageType()) {
-			case IMessageProvider.ERROR:
-				pw.print("error");
-				break;
-			case IMessageProvider.WARNING:
-				pw.print("warning");
-				break;
-			case IMessageProvider.INFORMATION:
-				pw.print("info");
-				break;
-			}
-			pw.print("\"> <a href=\"");
-			pw.print(i+"");
-			pw.print("\">");
-			if (message.getPrefix() != null)
-				pw.print(message.getPrefix());
-			pw.print(message.getMessage());
-			pw.println("</a></li>");
-		}
-		pw.println("</form>");
-		pw.flush();
-		return sw.toString();
-	}
-
-	private void createDecoratedTextField(String label, FormToolkit toolkit,
-			Composite parent, final IMessageManager mmng) {
-		toolkit.createLabel(parent, label);
-		final Text text = toolkit.createText(parent, "");
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = 150;
-		text.setLayoutData(gd);
-		text.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				String s = text.getText();
-				// flag length
-				if (s.length() > 5 && s.length() <= 10) {
-					mmng.addMessage("textLength",
-							"Text is longer than 5 characters", null,
-							IMessageProvider.WARNING, text);
-				} else if (s.length() > 10) {
-					mmng.addMessage("textLength",
-							"Text is longer than 10 characters", null,
-							IMessageProvider.ERROR, text);
-				} else {
-					mmng.removeMessage("textLength", text);
-				}
-				// flag type
-				boolean badType = false;
-				for (int i = 0; i < s.length(); i++) {
-					if (!Character.isLetter(s.charAt(i))) {
-						badType = true;
-						break;
-					}
-				}
-				if (badType) {
-					mmng.addMessage("textType",
-							"Text must only contain letters", null,
-							IMessageProvider.ERROR, text);
-				} else {
-					mmng.removeMessage("textType", text);
-				}
-			}
-		});
-	}
-}
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 1fb63d9..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/FreeFormPage.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import java.io.*;
-import java.io.InputStream;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.layout.GridLayout;
-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");
-	}
-	public static final void createSharedFormContent(IManagedForm managedForm) {
-		ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		toolkit.getHyperlinkGroup().setHyperlinkUnderlineMode(HyperlinkSettings.UNDERLINE_HOVER);
-		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);
-	}
-	
-	protected void createFormContent(IManagedForm managedForm) {
-		createSharedFormContent(managedForm);
-	}
-	private static 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(IFormColors.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 static 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(IFormColors.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 static 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));
-		createCompositeControl(rtext, toolkit);
-		createControl(rtext, toolkit);
-		Menu menu = new Menu(rtext);
-		final MenuItem item = new MenuItem(menu, SWT.PUSH);
-		item.setText("&Copy");
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				rtext.copy();
-			}
-		});
-		//rtext.setMenu(menu);
-		item.setEnabled(false);
-		rtext.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				item.setEnabled(rtext.canCopy());
-			}
-		});
-		InputStream is = FreeFormPage.class.getResourceAsStream("index.xml");
-		if (is!=null) {
-			rtext.setContents(is, true);
-			try {
-				is.close();
-			}
-			catch (IOException e) {
-			}
-		}
-	}
-	private static void createControl(FormText ftext, FormToolkit toolkit) {
-		TreeNode node = new TreeNode(ftext, SWT.NULL);
-		toolkit.adapt(node, true, true);
-		ftext.setControl("node", node);
-	}
-	private static void createCompositeControl(FormText ftext, FormToolkit toolkit) {
-		Composite comp = toolkit.createComposite(ftext);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		comp.setLayout(layout);
-		toolkit.createLabel(comp, "Sample text:");
-		Text text = toolkit.createText(comp, "");
-		text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		toolkit.createButton(comp, "Browse...", SWT.PUSH);
-		ftext.setControl("control1", comp);
-		toolkit.paintBordersFor(comp);
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/HeadlessPage.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/HeadlessPage.java
deleted file mode 100644
index 20814f1..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/HeadlessPage.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-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.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.editor.FormEditor;
-import org.eclipse.ui.forms.editor.FormPage;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-public class HeadlessPage extends FormPage {
-	private int count;
-
-	public HeadlessPage(FormEditor editor, int count) {
-		super(editor, "page"+count, "Page "+count);
-		this.count = count;
-	}
-	
-	protected void createFormContent(IManagedForm managedForm) {
-		FormToolkit toolkit = managedForm.getToolkit();
-		Composite body = managedForm.getForm().getBody();
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 4;
-		body.setLayout(layout);
-		Label label = toolkit.createLabel(body, "The content of the headless page #"+count);
-		GridData gd = new GridData();
-		gd.horizontalSpan = 4;
-		label.setLayoutData(gd);
-		for (int i=0; i<80; i++) {
-			toolkit.createLabel(body, "Field "+i);
-			Text text = toolkit.createText(body, null);
-			gd = new GridData(GridData.FILL_HORIZONTAL);
-			text.setLayoutData(gd);
-		}
-	}
-}
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 8b432f4..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/IModelListener.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public interface IModelListener {
-	String ADDED="__added";
-	String REMOVED="__removed";
-	String CHANGED = "__changed";
-	void modelChanged(Object[] objects, String type, String property);
-}
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 d62aa84..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/NamedObject.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-/**
- *
- */
-public	class NamedObject {
-	private String name;
-	protected SimpleModel model;
-	
-	public NamedObject(String name) {
-		this.name = name;
-	}
-	public void setModel(SimpleModel model) {
-		this.model = model;
-	}
-	public String getName() {
-		return name;
-	}
-	public String toString() {
-		return getName();
-	}
-	public void setName(String name) {
-		this.name = name;
-		model.fireModelChanged(new Object [] {this}, IModelListener.CHANGED, "");
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/NewStylePage.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/NewStylePage.java
deleted file mode 100644
index 9de269c..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/NewStylePage.java
+++ /dev/null
@@ -1,504 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-import java.text.MessageFormat;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ControlContribution;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.DragSourceListener;
-import org.eclipse.swt.dnd.DropTargetAdapter;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.forms.HyperlinkSettings;
-import org.eclipse.ui.forms.IFormColors;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.editor.FormEditor;
-import org.eclipse.ui.forms.editor.FormPage;
-import org.eclipse.ui.forms.events.HyperlinkAdapter;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.Section;
-
-/**
- * @author dejan
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-public class NewStylePage extends FormPage {
-	private static final String SHORT_TITLE = "Short Title";
-	private static final String LONG_TITLE = "This title is somewhat longer";
-	private static final String SHORT_MESSAGE = "A short {0} message";
-	private static final String LONG_MESSAGE = "This {0} message is longer and will also compete with other header regions";
-	private static final String[] MESSAGE_NAMES = { "text", "info", "warning",
-			"error" };
-
-	/**
-	 * @param id
-	 * @param title
-	 */
-	public NewStylePage(FormEditor editor) {
-		super(editor, "newStyle", "New Style");
-	}
-
-	protected void createFormContent(IManagedForm managedForm) {
-		final ScrolledForm form = managedForm.getForm();
-		final FormToolkit toolkit = managedForm.getToolkit();
-		toolkit.getHyperlinkGroup().setHyperlinkUnderlineMode(
-				HyperlinkSettings.UNDERLINE_HOVER);
-
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 10;
-		layout.marginWidth = 6;
-		layout.horizontalSpacing = 20;
-		form.getBody().setLayout(layout);
-
-		Section section = toolkit.createSection(form.getBody(),
-				ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE
-						| ExpandableComposite.EXPANDED);
-		Composite client = toolkit.createComposite(section);
-		section.setClient(client);
-		section.setText("Header features");
-		section
-				.setDescription("Use the switches below to control basic heading parameters.");
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		section.setLayoutData(gd);
-		layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		client.setLayout(layout);
-		final Button tbutton = toolkit.createButton(client, "Add title",
-				SWT.CHECK);
-		final Button sbutton = toolkit.createButton(client, "Short title",
-				SWT.RADIO);
-		sbutton.setSelection(true);
-		sbutton.setEnabled(false);
-		gd = new GridData();
-		gd.horizontalIndent = 10;
-		sbutton.setLayoutData(gd);
-		final Button lbutton = toolkit.createButton(client, "Long title",
-				SWT.RADIO);
-		gd = new GridData();
-		gd.horizontalIndent = 10;
-		lbutton.setLayoutData(gd);
-		lbutton.setEnabled(false);
-		tbutton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateTitle(form, tbutton.getSelection(), sbutton
-						.getSelection());
-				sbutton.setEnabled(tbutton.getSelection());
-				lbutton.setEnabled(tbutton.getSelection());
-			}
-		});
-		sbutton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateTitle(form, tbutton.getSelection(), sbutton
-						.getSelection());
-			}
-		});
-		lbutton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateTitle(form, tbutton.getSelection(), sbutton
-						.getSelection());
-			}
-		});
-		final Button ibutton = toolkit.createButton(client, "Add image",
-				SWT.CHECK);
-		ibutton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateImage(form, ibutton.getSelection());
-			}
-		});
-
-		final Button tbbutton = toolkit.createButton(client, "Add tool bar",
-				SWT.CHECK);
-		
-		final Button albutton = toolkit.createButton(client, "Set tool bar allignment to SWT.BOTTOM",
-				SWT.CHECK);
-		albutton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				form.getForm().setToolBarVerticalAlignment(albutton.getSelection()?SWT.BOTTOM:SWT.TOP);
-				form.reflow(true);
-			}
-		});
-		gd = new GridData();
-		gd.horizontalIndent = 10;
-		albutton.setLayoutData(gd);
-		albutton.setEnabled(false);
-		tbbutton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				addToolBar(toolkit, form, tbbutton.getSelection());
-				albutton.setEnabled(tbbutton.getSelection());
-			}
-		});
-
-		final Button gbutton = toolkit.createButton(client,
-				"Paint background gradient", SWT.CHECK);
-		gbutton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				addHeadingGradient(toolkit, form, gbutton.getSelection());
-			}
-		});
-
-		final Button clbutton = toolkit.createButton(client, "Add head client",
-				SWT.CHECK);
-		clbutton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				addHeadClient(toolkit, form, clbutton.getSelection());
-			}
-		});
-
-		final Button mbutton = toolkit.createButton(client,
-				"Add drop-down menu", SWT.CHECK);
-		mbutton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				addMenu(toolkit, form, mbutton.getSelection());
-			}
-		});
-
-		final Button dbutton = toolkit.createButton(client, "Add drag support",
-				SWT.CHECK);
-		dbutton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (dbutton.getSelection()) {
-					addDragSupport(form);
-					dbutton.setEnabled(false);
-				}
-			}
-		});
-
-		section = toolkit.createSection(form.getBody(),
-				ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE
-						| ExpandableComposite.EXPANDED);
-		client = toolkit.createComposite(section);
-		section.setClient(client);
-		section.setText("Messages and active state");
-		section
-				.setDescription("Use the buttons below to control messages and active state.");
-		gd = new GridData(GridData.FILL_BOTH);
-		section.setLayoutData(gd);
-
-		layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 4;
-		client.setLayout(layout);
-
-		final Button shortMessage = toolkit.createButton(client,
-				"Short message", SWT.RADIO);
-		shortMessage.setSelection(true);
-		gd = new GridData();
-		gd.horizontalSpan = 4;
-		shortMessage.setLayoutData(gd);
-		final Button longMessage = toolkit.createButton(client, "Long message",
-				SWT.RADIO);
-		gd = new GridData();
-		gd.horizontalSpan = 4;
-		longMessage.setLayoutData(gd);
-
-		final IHyperlinkListener listener = new HyperlinkAdapter() {
-			public void linkActivated(HyperlinkEvent e) {
-				String title = e.getLabel();
-				String details = (String)e.getHref();
-				if (details==null) {
-					details = title;
-					title = null;
-				}
-				switch (form.getForm().getMessageType()) {
-				case IMessageProvider.NONE:
-				case IMessageProvider.INFORMATION:
-					if (title==null)
-						title = "Forms Information";
-					MessageDialog.openInformation(form.getShell(), title, details);
-					break;
-				case IMessageProvider.WARNING:
-					if (title==null)
-						title = "Forms Warning";
-					MessageDialog.openWarning(form.getShell(), title, details);
-					break;
-				case IMessageProvider.ERROR:
-					if (title==null)
-						title = "Forms Error";
-					MessageDialog.openError(form.getShell(), title, details);
-					break;
-				}
-			}
-		};
-
-		final Button hyperMessage = toolkit.createButton(client,
-				"Message as hyperlink", SWT.CHECK);
-		gd = new GridData();
-		gd.horizontalSpan = 4;
-		hyperMessage.setLayoutData(gd);
-		hyperMessage.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (hyperMessage.getSelection())
-					form.getForm().addMessageHyperlinkListener(listener);
-				else
-					form.getForm().removeMessageHyperlinkListener(listener);
-			}
-		});
-
-		shortMessage.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				form.setMessage(getErrorMessage(form.getMessageType(),
-						longMessage.getSelection()), form.getMessageType());
-			}
-		});
-		longMessage.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				form.setMessage(getErrorMessage(form.getMessageType(),
-						longMessage.getSelection()), form.getMessageType());
-			}
-		});
-
-		Button error = toolkit.createButton(client, "Error", SWT.PUSH);
-		error.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				form.setMessage(getErrorMessage(IMessageProvider.ERROR,
-						longMessage.getSelection()), IMessageProvider.ERROR);
-
-			}
-		});
-		Button warning = toolkit.createButton(client, "Warning", SWT.PUSH);
-		warning.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				form.setMessage(getErrorMessage(IMessageProvider.WARNING,
-						longMessage.getSelection()), IMessageProvider.WARNING);
-			}
-		});
-		Button info = toolkit.createButton(client, "Info", SWT.PUSH);
-		info.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				form.setMessage(getErrorMessage(IMessageProvider.INFORMATION,
-						longMessage.getSelection()),
-						IMessageProvider.INFORMATION);
-			}
-		});
-		Button cancel = toolkit.createButton(client, "Cancel", SWT.PUSH);
-		cancel.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				form.setMessage(null, 0);
-			}
-		});
-
-		final Button busy = toolkit.createButton(client, "Start Progress",
-				SWT.PUSH);
-		busy.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				// IWorkbenchSiteProgressService service =
-				// (IWorkbenchSiteProgressService)getSite().getAdapter(IWorkbenchSiteProgressService.class);
-
-				if (form.getForm().isBusy()) {
-					form.getForm().setBusy(false);
-					busy.setText("Start Progress");
-				} else {
-					form.getForm().setBusy(true);
-					busy.setText("Stop Progress");
-				}
-			}
-		});
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		busy.setLayoutData(gd);
-	}
-
-	private void addHeadingGradient(FormToolkit toolkit, ScrolledForm form,
-			boolean add) {
-		FormColors colors = toolkit.getColors();
-		Color top = colors.getColor(IFormColors.H_GRADIENT_END);
-		Color bot = colors.getColor(IFormColors.H_GRADIENT_START);
-		if (add)
-			form.getForm().setTextBackground(new Color[] { top, bot },
-					new int[] { 100 }, true);
-		else {
-			form.getForm().setTextBackground(null, null, false);
-			form.getForm().setBackground(colors.getBackground());
-		}
-		form.getForm().setHeadColor(IFormColors.H_BOTTOM_KEYLINE1,
-				add ? colors.getColor(IFormColors.H_BOTTOM_KEYLINE1) : null);
-		form.getForm().setHeadColor(IFormColors.H_BOTTOM_KEYLINE2,
-				add ? colors.getColor(IFormColors.H_BOTTOM_KEYLINE2) : null);
-		form.getForm().setHeadColor(IFormColors.H_HOVER_LIGHT,
-				add ? colors.getColor(IFormColors.H_HOVER_LIGHT) : null);
-		form.getForm().setHeadColor(IFormColors.H_HOVER_FULL,
-				add ? colors.getColor(IFormColors.H_HOVER_FULL) : null);
-		form.getForm().setHeadColor(IFormColors.TB_TOGGLE,
-				add ? colors.getColor(IFormColors.TB_TOGGLE) : null);
-		form.getForm().setHeadColor(IFormColors.TB_TOGGLE_HOVER,
-				add ? colors.getColor(IFormColors.TB_TOGGLE_HOVER) : null);
-		form.getForm().setSeparatorVisible(add);
-		form.reflow(true);
-		form.redraw();
-	}
-
-	private String getErrorMessage(int type, boolean longMessage) {
-		String name = MESSAGE_NAMES[type];
-		if (longMessage)
-			return MessageFormat.format(LONG_MESSAGE, new Object[] { name });
-		else
-			return MessageFormat.format(SHORT_MESSAGE, new Object[] { name });
-	}
-
-	private void updateTitle(ScrolledForm form, boolean addTitle,
-			boolean shortTitle) {
-		if (addTitle) {
-			String text = shortTitle ? SHORT_TITLE : LONG_TITLE;
-			form.setText(text);
-		} else {
-			form.setText(null);
-		}
-	}
-
-	private void updateImage(ScrolledForm form, boolean addImage) {
-		if (addImage)
-			form.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(
-					ISharedImages.IMG_DEF_VIEW));
-		else
-			form.setImage(null);
-	}
-
-	private void addToolBar(FormToolkit toolkit, ScrolledForm form, boolean add) {
-		if (add) {
-			Action haction = new Action("hor", Action.AS_RADIO_BUTTON) {
-				public void run() {
-				}
-			};
-			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() {
-				}
-			};
-			vaction.setChecked(false);
-			vaction.setToolTipText("Vertical orientation");
-			vaction.setImageDescriptor(ExamplesPlugin.getDefault()
-					.getImageRegistry().getDescriptor(
-							ExamplesPlugin.IMG_VERTICAL));
-			ControlContribution save = new ControlContribution("save") {
-				protected Control createControl(Composite parent) {
-					Button saveButton = new Button(parent, SWT.PUSH);
-					saveButton.setText("Save");
-					return saveButton;
-				}
-			};
-			form.getToolBarManager().add(haction);
-			form.getToolBarManager().add(vaction);
-			form.getToolBarManager().add(save);
-			form.getToolBarManager().update(true);
-		} else {
-			form.getToolBarManager().removeAll();
-		}
-		form.reflow(true);
-	}
-
-	private void addMenu(FormToolkit toolkit, ScrolledForm form, boolean add) {
-		if (add) {
-			Action haction = new Action("hor", Action.AS_RADIO_BUTTON) {
-				public void run() {
-				}
-			};
-			haction.setChecked(true);
-			haction.setText("Horizontal");
-			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() {
-				}
-			};
-			vaction.setChecked(false);
-			vaction.setText("Vertical");
-			vaction.setToolTipText("Vertical orientation");
-			vaction.setImageDescriptor(ExamplesPlugin.getDefault()
-					.getImageRegistry().getDescriptor(
-							ExamplesPlugin.IMG_VERTICAL));
-			form.getForm().getMenuManager().add(haction);
-			form.getForm().getMenuManager().add(vaction);
-		} else {
-			form.getForm().getMenuManager().removeAll();
-		}
-		form.reflow(true);
-	}
-
-	private void addHeadClient(FormToolkit toolkit, ScrolledForm form,
-			boolean add) {
-		if (add) {
-			Composite headClient = new Composite(form.getForm().getHead(),
-					SWT.NULL);
-			GridLayout glayout = new GridLayout();
-			glayout.marginWidth = glayout.marginHeight = 0;
-			glayout.numColumns = 3;
-			headClient.setLayout(glayout);
-			Text t = new Text(headClient, toolkit.getBorderStyle());
-			t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			new Combo(headClient, SWT.NULL);
-			new Combo(headClient, SWT.NULL);
-			toolkit.paintBordersFor(headClient);
-			form.setHeadClient(headClient);
-		} else {
-			Control client = form.getForm().getHeadClient();
-			if (client != null) {
-				client.dispose();
-				form.setHeadClient(null);
-			}
-		}
-	}
-
-	private void addDragSupport(final ScrolledForm form) {
-		int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
-		Transfer[] transferTypes = { TextTransfer.getInstance() };
-		form.getForm().addTitleDragSupport(operations, transferTypes,
-				new DragSourceListener() {
-					public void dragFinished(DragSourceEvent event) {
-					}
-
-					public void dragSetData(DragSourceEvent event) {
-						event.data = form.getForm().getText();
-					}
-
-					public void dragStart(DragSourceEvent event) {
-						event.doit = true;
-					}
-				});
-		form.getForm().addTitleDropSupport(operations, transferTypes,
-				new DropTargetAdapter() {
-				});
-	}
-}
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 91af481..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/OpenSimpleFormEditorAction.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.forms.examples.internal.OpenFormEditorAction;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-public class OpenSimpleFormEditorAction extends OpenFormEditorAction {
-	
-	public Object execute(ExecutionEvent event) throws ExecutionException {
-		IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
-		return openEditor(new SimpleFormEditorInput("Simple Editor"), "org.eclipse.ui.forms.examples.base-editor", window);
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/OpenSingleHeaderEditorAction.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/OpenSingleHeaderEditorAction.java
deleted file mode 100644
index 27d3c8b..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/OpenSingleHeaderEditorAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.forms.examples.internal.OpenFormEditorAction;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-public class OpenSingleHeaderEditorAction extends OpenFormEditorAction {
-	
-	public Object execute(ExecutionEvent event) throws ExecutionException {
-		IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
-		return openEditor(new SimpleFormEditorInput("Single Header Editor"),
-				"org.eclipse.ui.forms.examples.single-header-editor", window);
-	}
-}
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 7aa310b..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/PageWithSubPages.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.*;
-import org.eclipse.ui.forms.editor.*;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.*;
-/**
- *
- */
-public class PageWithSubPages extends FormPage {
-	private CTabFolder tabFolder;
-	private Text text;
-	
-	class TextSection {
-		String text;
-		public TextSection(String text) {this.text = text;}
-	}
-	/**
-	 * @param id
-	 * @param title
-	 */
-	public PageWithSubPages(FormEditor editor) {
-		super(editor, "composite", "Composite Page");
-	}
-	protected void createFormContent(IManagedForm managedForm) {
-		ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		form.setText("Form with subpages");
-		form.setBackgroundImage(ExamplesPlugin.getDefault().getImage(
-				ExamplesPlugin.IMG_FORM_BG));
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 10;
-		form.getBody().setLayout(layout);
-		tabFolder = new CTabFolder(form.getBody(), SWT.FLAT|SWT.TOP);
-		toolkit.adapt(tabFolder, true, true);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.heightHint = 0;
-		tabFolder.setLayoutData(gd);
-		Color selectedColor = toolkit.getColors().getColor(IFormColors.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);
-	}
-}
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 f25a613..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesBlock.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.forms.*;
-import org.eclipse.ui.forms.editor.FormPage;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.*;
-/**
- *
- */
-public class ScrolledPropertiesBlock extends MasterDetailsBlock {
-	private FormPage page;
-	public ScrolledPropertiesBlock(FormPage page) {
-		this.page = page;
-	}
-	/**
-	 * @param id
-	 * @param title
-	 */
-	class MasterContentProvider implements IStructuredContentProvider {
-		public Object[] getElements(Object inputElement) {
-			if (inputElement instanceof SimpleFormEditorInput) {
-				SimpleFormEditorInput input = (SimpleFormEditorInput) page
-						.getEditor().getEditorInput();
-				return input.getModel().getContents();
-			}
-			return new Object[0];
-		}
-		public void dispose() {
-		}
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-	}
-	class MasterLabelProvider extends LabelProvider
-			implements
-				ITableLabelProvider {
-		public String getColumnText(Object obj, int index) {
-			return obj.toString();
-		}
-		public Image getColumnImage(Object obj, int index) {
-			if (obj instanceof TypeOne) {
-				return PlatformUI.getWorkbench().getSharedImages().getImage(
-						ISharedImages.IMG_OBJ_ELEMENT);
-			}
-			if (obj instanceof TypeTwo) {
-				return PlatformUI.getWorkbench().getSharedImages().getImage(
-						ISharedImages.IMG_OBJ_FILE);
-			}
-			return null;
-		}
-	}
-	protected void createMasterPart(final IManagedForm managedForm,
-			Composite parent) {
-		//final ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		Section section = toolkit.createSection(parent, Section.DESCRIPTION);
-		section.setText("Model Objects");
-		section
-				.setDescription("The list contains objects from the model whose details are editable on the right");
-		section.marginWidth = 10;
-		section.marginHeight = 5;
-		toolkit.createCompositeSeparator(section);
-		Composite client = toolkit.createComposite(section, SWT.WRAP);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = 2;
-		layout.marginHeight = 2;
-		client.setLayout(layout);
-		Table t = toolkit.createTable(client, SWT.NULL);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 20;
-		gd.widthHint = 100;
-		t.setLayoutData(gd);
-		toolkit.paintBordersFor(client);
-		Button b = toolkit.createButton(client, "Add...", SWT.PUSH);
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-		b.setLayoutData(gd);
-		section.setClient(client);
-		final SectionPart spart = new SectionPart(section);
-		managedForm.addPart(spart);
-		TableViewer viewer = new TableViewer(t);
-		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				managedForm.fireSelectionChanged(spart, event.getSelection());
-			}
-		});
-		viewer.setContentProvider(new MasterContentProvider());
-		viewer.setLabelProvider(new MasterLabelProvider());
-		viewer.setInput(page.getEditor().getEditorInput());
-	}
-	protected void createToolBarActions(IManagedForm managedForm) {
-		final ScrolledForm form = managedForm.getForm();
-		Action haction = new Action("hor", Action.AS_RADIO_BUTTON) {
-			public void run() {
-				sashForm.setOrientation(SWT.HORIZONTAL);
-				form.reflow(true);
-			}
-		};
-		haction.setChecked(true);
-		haction.setToolTipText("Horizontal orientation");
-		haction.setImageDescriptor(ExamplesPlugin.getDefault()
-				.getImageRegistry()
-				.getDescriptor(ExamplesPlugin.IMG_HORIZONTAL));
-		Action vaction = new Action("ver", Action.AS_RADIO_BUTTON) {
-			public void run() {
-				sashForm.setOrientation(SWT.VERTICAL);
-				form.reflow(true);
-			}
-		};
-		vaction.setChecked(false);
-		vaction.setToolTipText("Vertical orientation");
-		vaction.setImageDescriptor(ExamplesPlugin.getDefault()
-				.getImageRegistry().getDescriptor(ExamplesPlugin.IMG_VERTICAL));
-		form.getToolBarManager().add(haction);
-		form.getToolBarManager().add(vaction);
-	}
-	protected void registerPages(DetailsPart detailsPart) {
-		detailsPart.registerPage(TypeOne.class, new TypeOneDetailsPage());
-		detailsPart.registerPage(TypeTwo.class, new TypeTwoDetailsPage());
-	}
-}
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 e8f0239..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesPage.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.editor.*;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.*;
-/**
- * @author dejan
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-public class ScrolledPropertiesPage extends FormPage {
-	private ScrolledPropertiesBlock block;
-	public ScrolledPropertiesPage(FormEditor editor) {
-		super(editor, "fourth", "Master Details");
-		block = new ScrolledPropertiesBlock(this);
-	}
-	protected void createFormContent(final IManagedForm managedForm) {
-		final ScrolledForm form = managedForm.getForm();
-		//FormToolkit toolkit = managedForm.getToolkit();
-		form.setText("Form with scrolled sections");
-		form.setBackgroundImage(ExamplesPlugin.getDefault().getImage(
-				ExamplesPlugin.IMG_FORM_BG));
-		block.createContent(managedForm);
-	}
-}
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 199bcfb..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SecondPage.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-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.makeColumnsEqualWidth = true;
-		layout.numColumns = 2;
-		form.getBody().setLayout(layout);
-		//This call is needed because the section will compute
-		// the bold version based on the parent.
-		Dialog.applyDialogFont(form.getBody());
-		Section s1 = createTableSection(form, toolkit, "First Table Section", true);
-		Section s2 = createTableSection(form, toolkit, "Second Table Section", false);
-		// This call is needed for all the children
-		Dialog.applyDialogFont(form.getBody());
-		s2.descriptionVerticalSpacing = s1.getTextClientHeightDifference();
-		form.reflow(true);
-	}
-
-	private Section createTableSection(final ScrolledForm form,
-			FormToolkit toolkit, String title, boolean addTextClient) {
-		Section section = toolkit.createSection(form.getBody(), Section.TWISTIE
-				| Section.TITLE_BAR);
-		section.setActiveToggleColor(toolkit.getHyperlinkGroup()
-				.getActiveForeground());
-		section.setToggleColor(toolkit.getColors().getColor(
-				IFormColors.SEPARATOR));
-		if (addTextClient) {
-			ToolBar tbar = new ToolBar(section, SWT.FLAT | SWT.HORIZONTAL);
-			ToolItem titem = new ToolItem(tbar, SWT.NULL);
-			titem.setImage(PlatformUI.getWorkbench().getSharedImages()
-					.getImage(ISharedImages.IMG_TOOL_CUT));
-			titem = new ToolItem(tbar, SWT.PUSH);
-			titem.setImage(PlatformUI.getWorkbench().getSharedImages()
-					.getImage(ISharedImages.IMG_TOOL_COPY));
-			titem = new ToolItem(tbar, SWT.SEPARATOR);
-			titem = new ToolItem(tbar, SWT.PUSH);
-			titem.setImage(PlatformUI.getWorkbench().getSharedImages()
-					.getImage(ISharedImages.IMG_TOOL_DELETE));
-			section.setTextClient(tbar);
-		}
-		FormText description = toolkit.createFormText(section, false);
-		description
-				.setText(
-						"<form><p>This description uses FormText widget and as a result can have <b>bold</b> text.</p></form>",
-						true, false);
-		section.setDescriptionControl(description);
-
-		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("<form><p>This section has a <b>tree</b> and a button. It also has <a>a link</a> in the description.</p></form>");
-		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);
-		return section;
-	}
-}
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 94c95e7..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditor.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.forms.editor.FormEditor;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-/**
- * A simple multi-page form editor that uses Eclipse Forms support.
- * Example plug-in is configured to create one instance of
- * form colors that is shared between multiple editor instances.
- */
-public class SimpleFormEditor extends FormEditor {
-	/**
-	 *  
-	 */
-	public SimpleFormEditor() {
-	}
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.ui.forms.editor.FormEditor#createToolkit(org.eclipse.swt.widgets.Display)
-	 */
-	protected FormToolkit createToolkit(Display display) {
-		// Create a toolkit that shares colors between editors.
-		return new FormToolkit(ExamplesPlugin.getDefault().getFormColors(
-				display));
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.editor.FormEditor#addPages()
-	 */
-	protected void addPages() {
-		try {
-		addPage(new NewStylePage(this));
-		addPage(new ErrorMessagesPage(this));
-		addPage(new FreeFormPage(this));
-		addPage(new SecondPage(this));
-		int index = addPage(new Composite(getContainer(), SWT.NULL));
-		setPageText(index, "Composite");
-		addPage(new ThirdPage(this));
-		addPage(new ScrolledPropertiesPage(this));
-		addPage(new PageWithSubPages(this));
-		}
-		catch (PartInitException e) {
-			//
-		}
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.ISaveablePart#doSave(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void doSave(IProgressMonitor monitor) {
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.ISaveablePart#doSaveAs()
-	 */
-	public void doSaveAs() {
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.ISaveablePart#isSaveAsAllowed()
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-}
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 b2fd6af..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditorInput.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import org.eclipse.ui.forms.examples.internal.FormEditorInput;
-
-public class SimpleFormEditorInput extends FormEditorInput {
-	private SimpleModel model;
-	
-	public SimpleFormEditorInput(String name) {
-		super(name);
-		model = new SimpleModel();
-	}
-	
-	public SimpleModel getModel() {
-		return model;
-	}
-}
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 ba1ceab..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleModel.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import java.util.ArrayList;
-/**
- * @author dejan
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-public class SimpleModel {
-	private ArrayList modelListeners;
-	private ArrayList objects;
-	public SimpleModel() {
-		modelListeners = new ArrayList();
-		initialize();
-	}
-	public void addModelListener(IModelListener listener) {
-		if (!modelListeners.contains(listener))
-			modelListeners.add(listener);
-	}
-	public void removeModelListener(IModelListener listener) {
-		modelListeners.remove(listener);
-	}
-	public void fireModelChanged(Object[] objects, String type, String property) {
-		for (int i = 0; i < modelListeners.size(); i++) {
-			((IModelListener) modelListeners.get(i)).modelChanged(objects,
-					type, property);
-		}
-	}
-	public Object[] getContents() {
-		return objects.toArray();
-	}
-	private void initialize() {
-		objects = new ArrayList();
-		NamedObject[] objects = {
-				new TypeOne("TypeOne instance 1", 2, true, "Some text"),
-				new TypeOne("TypeOne instance 2", 1, false, "Different text"),
-				new TypeOne("TypeOne instance 3", 3, true, "Text"),
-				new TypeOne("TypeOne instance 4", 0, false, "Longer text"),
-				new TypeOne("TypeOne instance 5", 1, true, "Sample"),
-				new TypeTwo("TypeTwo instance 1", false, true),
-				new TypeTwo("TypeTwo instance 2", true, false)};
-		add(objects, false);
-	}
-	public void add(NamedObject[] objs, boolean notify) {
-		for (int i = 0; i < objs.length; i++) {
-			objects.add(objs[i]);
-			objs[i].setModel(this);
-		}
-		if (notify)
-			fireModelChanged(objs, IModelListener.ADDED, "");
-	}
-	public void remove(NamedObject[] objs, boolean notify) {
-		for (int i = 0; i < objs.length; i++) {
-			objects.remove(objs[i]);
-			objs[i].setModel(null);
-		}
-		if (notify)
-			fireModelChanged(objs, IModelListener.REMOVED, "");
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SingleHeaderEditor.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SingleHeaderEditor.java
deleted file mode 100644
index 7245743..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SingleHeaderEditor.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.jface.action.Action;
-import org.eclipse.jface.action.ControlContribution;
-import org.eclipse.swt.SWT;
-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.ui.ISharedImages;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.editor.SharedHeaderFormEditor;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.Form;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-
-/**
- * A form editor that has several pages but only one stable header.
- */
-public class SingleHeaderEditor extends SharedHeaderFormEditor {
-	/**
-	 * 
-	 */
-	public SingleHeaderEditor() {
-	}
-
-	/*
-	 * (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));
-	}
-
-	protected void createHeaderContents(IManagedForm headerForm) {
-		final ScrolledForm sform = headerForm.getForm();
-		//sform.setText("Shared header for all the pages");
-		getToolkit().decorateFormHeading(sform.getForm());
-		addToolBar(sform.getForm());
-		sform.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(
-				ISharedImages.IMG_OBJ_FILE));
-		headerForm.getForm().getDisplay().timerExec(5000, new Runnable() {
-			public void run() {
-				sform.setText("<Another text>");
-			}
-		});
-		//sform.setMessage("Static text", 0);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.editor.FormEditor#addPages()
-	 */
-	protected void addPages() {
-		try {
-			addPage(new HeadlessPage(this, 1));
-			addPage(new HeadlessPage(this, 2));
-			addPage(new HeadlessPage(this, 3));
-		} 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;
-	}
-
-	private void addToolBar(Form form) {
-		Action haction = new Action("hor", Action.AS_RADIO_BUTTON) {
-			public void run() {
-			}
-		};
-		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() {
-			}
-		};
-		vaction.setChecked(false);
-		vaction.setToolTipText("Vertical orientation");
-		vaction.setImageDescriptor(ExamplesPlugin.getDefault()
-				.getImageRegistry().getDescriptor(ExamplesPlugin.IMG_VERTICAL));
-		ControlContribution save = new ControlContribution("save") {
-			protected Control createControl(Composite parent) {
-				Button saveButton = new Button(parent, SWT.PUSH);
-				saveButton.setText("Save");
-				return saveButton;
-			}
-		};
-		form.getToolBarManager().add(haction);
-		form.getToolBarManager().add(vaction);
-		form.getToolBarManager().add(save);
-		form.getToolBarManager().update(true);
-	}
-}
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 c48b28c..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ThirdPage.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.editor.*;
-import org.eclipse.ui.forms.events.*;
-import org.eclipse.ui.forms.widgets.*;
-/**
- * @author dejan
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-public class ThirdPage extends FormPage {
-	/**
-	 * @param id
-	 * @param title
-	 */
-	public ThirdPage(FormEditor editor) {
-		super(editor, "third", "Flow Page");
-	}
-	protected void createFormContent(IManagedForm managedForm) {
-		ScrolledForm form = managedForm.getForm();
-		//FormToolkit toolkit = managedForm.getToolkit();
-		form.setText("Form with wrapped controls");
-		ColumnLayout layout = new ColumnLayout();
-		layout.topMargin = 0;
-		layout.bottomMargin = 5;
-		layout.leftMargin = 10;
-		layout.rightMargin = 10;
-		layout.horizontalSpacing = 10;
-		layout.verticalSpacing = 10;
-		layout.maxNumColumns = 4;
-		layout.minNumColumns = 1;
-		form.getBody().setLayout(layout);
-		//form.getBody().setBackground(
-		//		form.getBody().getDisplay().getSystemColor(SWT.COLOR_GREEN));
-		createSectionWithLinks(managedForm, "Link Section",
-				"An example of a section with links", 2);
-		createSectionWithLinks(managedForm, "Link Section",
-				"An example of a section with links", 2);
-		createMixedSection(managedForm, "Mixed Section",
-				"An example of a section with both links and form controls");
-		createSectionWithLinks(managedForm, "Link Section",
-				"An example of a section with links", 4);
-		createSectionWithControls(managedForm, "Control Section",
-				"An example of a section with form controls");
-		createSectionWithLinks(managedForm, "Sample Section",
-				"An example of a section with links", 3);
-		createSectionWithLinks(managedForm, "Sample Section",
-				"An example of a section with links", 5);
-		createMixedSection(managedForm, "Mixed Section",
-				"An example of a section with both links and form controls");
-		createSectionWithLinks(managedForm, "Sample Section",
-				"An example of a section with links", 2);
-		createSectionWithControls(managedForm, "Control Section",
-				"An example of a section with links");
-		createSectionWithLinks(managedForm, "Sample Section",
-				"An example of a section with links", 4);
-		createSectionWithLinks(managedForm, "Sample Section",
-				"An example of a section with links", 2);
-		createMixedSection(managedForm, "Mixed Section",
-				"An example of a section with both links and form controls");
-		createSectionWithLinks(managedForm, "Sample Section",
-				"An example of a section with links", 2);
-		createSectionWithControls(managedForm, "Control Section",
-				"An example of a section with form controls");
-	}
-	private void createSectionWithLinks(IManagedForm mform, String title,
-			String desc, int nlinks) {
-		Composite client = createSection(mform, title, desc, 1);
-		FormToolkit toolkit = mform.getToolkit();
-		for (int i = 1; i <= nlinks; i++)
-			toolkit.createHyperlink(client, "Hyperlink text " + i, SWT.WRAP);
-	}
-	private void createSectionWithControls(IManagedForm mform, String title,
-			String desc) {
-		Composite client = createSection(mform, title, desc, 1);
-		FormToolkit toolkit = mform.getToolkit();
-		toolkit.createButton(client, "A radio button 1", SWT.RADIO);
-		toolkit.createButton(client, "A radio button 2", SWT.RADIO);
-		toolkit.createButton(client, "A radio button with a longer text",
-				SWT.RADIO);
-		toolkit.createButton(client, "A checkbox button", SWT.CHECK);
-	}
-	private void createMixedSection(IManagedForm mform, String title, String desc) {
-		Composite client = createSection(mform, title, desc, 2);
-		FormToolkit toolkit = mform.getToolkit();
-		Hyperlink link = toolkit.createHyperlink(client,
-				"A longer hyperlink text example", SWT.WRAP);
-		GridData gd = new GridData();
-		gd.horizontalSpan = 2;
-		link.setLayoutData(gd);
-		link = toolkit.createHyperlink(client, "Another hyperlink text",
-				SWT.WRAP);
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		link.setLayoutData(gd);
-		toolkit.createLabel(client, "A text label:");
-		Text text = toolkit.createText(client, "", SWT.SINGLE);
-		text.setText("Sample text");
-		text.setEnabled(false);
-		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.SHORT_TITLE_BAR | Section.DESCRIPTION | Section.EXPANDED);
-		section.setText(title);
-		section.setDescription(desc);
-		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;
-	}
-}
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 45dc98c..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOne.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public class TypeOne extends NamedObject {
-	public static final String P_CHOICE="choice";
-	public static final String P_FLAG="flag";
-	public static final String P_TEXT="text";
-	public static final String [] CHOICES = {
-			"Choice 1", "Choice 2", "Choice 3", "Choice 4" };
-	private int choice=0;
-	private String text;
-	private boolean flag;
-
-	/**
-	 * @param name
-	 */
-	public TypeOne(String name, int choice, boolean flag, String text) {
-		super(name);
-		this.flag = flag;
-		this.text = text;
-		this.choice = choice;
-	}
-	public int getChoice() {
-		return choice;
-	}
-	public void setChoice(int choice) {
-		this.choice = choice;
-		model.fireModelChanged(new Object[] {this}, IModelListener.CHANGED, P_CHOICE);
-	}
-	public boolean getFlag() {
-		return flag;
-	}
-	public void setFlag(boolean flag) {
-		this.flag = flag;
-		model.fireModelChanged(new Object[] {this}, IModelListener.CHANGED, P_FLAG);
-	}
-	public String getText() {
-		return text;
-	}
-	public void setText(String text) {
-		this.text = text;
-		model.fireModelChanged(new Object[] {this}, IModelListener.CHANGED, P_TEXT);
-	}
-}
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 94f1681..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOneDetailsPage.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.*;
-import org.eclipse.ui.forms.widgets.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public class TypeOneDetailsPage implements IDetailsPage {
-	private IManagedForm mform;
-	private TypeOne input;
-	private Button [] choices;
-	private Button flag;
-	private Text text;
-	private static final String RTEXT_DATA =
-			"<form><p>An example of a free-form text that should be "+
-			"wrapped below the section with widgets.</p>"+
-			"<p>It can contain simple tags like <a>links</a> and <b>bold text</b>.</p></form>";
-	
-	public TypeOneDetailsPage() {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#initialize(org.eclipse.ui.forms.IManagedForm)
-	 */
-	public void initialize(IManagedForm mform) {
-		this.mform = mform;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createContents(Composite parent) {
-		TableWrapLayout layout = new TableWrapLayout();
-		layout.topMargin = 5;
-		layout.leftMargin = 5;
-		layout.rightMargin = 2;
-		layout.bottomMargin = 2;
-		parent.setLayout(layout);
-
-		FormToolkit toolkit = mform.getToolkit();
-		Section s1 = toolkit.createSection(parent, Section.DESCRIPTION);
-		s1.marginWidth = 10;
-		s1.setText("Type One Details");
-		s1.setDescription("Set the properties of the selected TypeOne object.");
-		TableWrapData td = new TableWrapData(TableWrapData.FILL, TableWrapData.TOP);
-		td.grabHorizontal = true;
-		s1.setLayoutData(td);
-		toolkit.createCompositeSeparator(s1);
-		Composite client = toolkit.createComposite(s1);
-		GridLayout glayout = new GridLayout();
-		glayout.marginWidth = glayout.marginHeight = toolkit.getBorderStyle()==SWT.BORDER?0:2;
-		glayout.numColumns = 2;
-		client.setLayout(glayout);
-		//client.setBackground(client.getDisplay().getSystemColor(SWT.COLOR_CYAN));
-		
-		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, false);
-		rtext.setText(RTEXT_DATA, true, false);
-		td = new TableWrapData(TableWrapData.FILL, TableWrapData.TOP);
-		td.grabHorizontal = true;
-		rtext.setLayoutData(td);
-		
-		toolkit.paintBordersFor(client);
-		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 c1093c0..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwo.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public class TypeTwo extends NamedObject {
-	public static final String P_FLAG1="flag1";
-	public static final String P_FLAG2="flag2";
-	private boolean flag1;
-	private boolean flag2;
-
-	/**
-	 * @param name
-	 */
-	public TypeTwo(String name, boolean flag1, boolean flag2) {
-		super(name);
-		this.flag1 = flag1;
-		this.flag2 = flag2;
-	}
-	public boolean getFlag1() {
-		return flag1;
-	}
-	public boolean getFlag2() {
-		return flag2;
-	}
-	public void setFlag1(boolean flag1) {
-		this.flag1 = flag1;
-		model.fireModelChanged(new Object[] {this}, IModelListener.CHANGED, P_FLAG1);
-	}
-	public void setFlag2(boolean flag2) {
-		this.flag2 = flag2;
-		model.fireModelChanged(new Object[] {this}, IModelListener.CHANGED, P_FLAG2);
-	}
-}
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 2988e28..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwoDetailsPage.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.*;
-import org.eclipse.ui.forms.widgets.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public class TypeTwoDetailsPage implements IDetailsPage {
-	private IManagedForm mform;
-	private TypeTwo input;
-	private Button flag1;
-	private Button flag2;
-	
-	public TypeTwoDetailsPage() {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#initialize(org.eclipse.ui.forms.IManagedForm)
-	 */
-	public void initialize(IManagedForm mform) {
-		this.mform = mform;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createContents(Composite parent) {
-		TableWrapLayout layout = new TableWrapLayout();
-		layout.topMargin = 5;
-		layout.leftMargin = 5;
-		layout.rightMargin = 2;
-		//layout.bottomMargin = 2;
-		parent.setLayout(layout);
-
-		FormToolkit toolkit = mform.getToolkit();
-		Section s1 = toolkit.createSection(parent, Section.DESCRIPTION);
-		s1.marginWidth = 10;
-		s1.setText("Type Two Details");
-		s1.setDescription("Set the properties of the selected TypeTwo object.");
-		TableWrapData td = new TableWrapData(TableWrapData.FILL, TableWrapData.TOP);
-		td.grabHorizontal = true;
-		s1.setLayoutData(td);
-		toolkit.createCompositeSeparator(s1);
-		Composite client = toolkit.createComposite(s1);
-		//client.setBackground(client.getDisplay().getSystemColor(SWT.COLOR_MAGENTA));
-		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 ed6aa1c..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/index.xml
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<form>
-<p><control href="node"/></p>
-<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>
-<p>New addition: controls in the text</p>
-<p><control href="control1" width="300"/></p>
-<p>Now we will show an image link: <a href="action1"><img href="image1"/></a></p>
-<p>And this is image and text as a link: <a href="action1"><img href="image1"/>Some link text</a></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>
-<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>
-<p>Now we will show an image link: <a href="action1"><img href="image1"/></a></p>
-<p>And this is image and text as a link: <a href="action1"><img href="image1"/>Some link text</a></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>
-<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>
-<p>Now we will show an image link: <a href="action1"><img href="image1"/></a></p>
-<p>And this is image and text as a link: <a href="action1"><img href="image1"/>Some link text</a></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>
-<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>
-<p>Now we will show an image link: <a href="action1"><img href="image1"/></a></p>
-<p>And this is image and text as a link: <a href="action1"><img href="image1"/>Some link text</a></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>
-<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>
-<p>Now we will show an image link: <a href="action1"><img href="image1"/></a></p>
-<p>And this is image and text as a link: <a href="action1"><img href="image1"/>Some link text</a></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>
-<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>
-<p>Now we will show an image link: <a href="action1"><img href="image1"/></a></p>
-<p>And this is image and text as a link: <a href="action1"><img href="image1"/>Some link text</a></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>
-<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>
-<p>Now we will show an image link: <a href="action1"><img href="image1"/></a></p>
-<p>And this is image and text as a link: <a href="action1"><img href="image1"/>Some link text</a></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 df7bf12..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/FormView.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.views;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.IFormColors;
-import org.eclipse.ui.forms.events.ExpansionAdapter;
-import org.eclipse.ui.forms.events.ExpansionEvent;
-import org.eclipse.ui.forms.events.HyperlinkAdapter;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormText;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.forms.widgets.TableWrapData;
-import org.eclipse.ui.forms.widgets.TableWrapLayout;
-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);
-		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);
-		
-		ImageHyperlink ih = toolkit.createImageHyperlink(form.getBody(), SWT.NULL);
-		ih.setText("Image link with no image");
-		ih = toolkit.createImageHyperlink(form.getBody(), SWT.NULL);
-		ih.setImage(ExamplesPlugin.getDefault().getImageRegistry().get(ExamplesPlugin.IMG_SAMPLE));
-		ih.setText("Link with image and text");
-		
-		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/><br/><br/> \n more <b>   bb   </b>  white  . </p>");
-		buf.append("</form>");
-		FormText rtext = toolkit.createFormText(form.getBody(), false);
-		//rtext.setWhitespaceNormalized(false);
-		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(IFormColors.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() {
-		Control focusControl = form.getDisplay().getFocusControl();
-		if (focusControl!=null) {
-			Composite parent = focusControl.getParent();
-			while (parent!=null) {
-				if (parent==form) {
-					// already have focus
-					return;
-				}
-				parent = parent.getParent();
-			}
-		}
-		form.setFocus();
-	}
-	/**
-	 * Disposes the toolkit
-	 */
-	public void dispose() {
-		toolkit.dispose();
-		super.dispose();
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/ShowHelpAction.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/ShowHelpAction.java
deleted file mode 100644
index 2484a37..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/ShowHelpAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.forms.examples.views;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.*;
-
-/**
- * @author dejan
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class ShowHelpAction implements IWorkbenchWindowActionDelegate {
-	private IWorkbenchWindow window;
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/* (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) {
-		try {
-			window.getActivePage().showView("org.eclipse.ui.forms.examples.helpView");
-		}
-		catch (PartInitException e) {
-			System.out.println(e);
-		}
-	}
-
-	/* (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.browser/.classpath b/tests/org.eclipse.ui.tests.browser/.classpath
deleted file mode 100644
index 275b34c..0000000
--- a/tests/org.eclipse.ui.tests.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/tests/org.eclipse.ui.tests.browser/.cvsignore b/tests/org.eclipse.ui.tests.browser/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/tests/org.eclipse.ui.tests.browser/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/.options b/tests/org.eclipse.ui.tests.browser/.options
deleted file mode 100644
index 3481178..0000000
--- a/tests/org.eclipse.ui.tests.browser/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-# Debugging options for the org.eclipse.ui.browser plugin.
-
-# Turn on debugging for the org.eclipse.ui.browser plugin.
-org.eclipse.ui.browser/debug=false
diff --git a/tests/org.eclipse.ui.tests.browser/.project b/tests/org.eclipse.ui.tests.browser/.project
deleted file mode 100644
index 8a25b7f..0000000
--- a/tests/org.eclipse.ui.tests.browser/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.tests.browser</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.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/tests/org.eclipse.ui.tests.browser/about.html b/tests/org.eclipse.ui.tests.browser/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/tests/org.eclipse.ui.tests.browser/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/build.properties b/tests/org.eclipse.ui.tests.browser/build.properties
deleted file mode 100644
index 642090b..0000000
--- a/tests/org.eclipse.ui.tests.browser/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               .,\
-               browser.jar,\
-               test.xml
-src.includes = about.html
-jars.compile.order = browser.jar
-source.browser.jar = src/
-output.browser.jar = bin/
diff --git a/tests/org.eclipse.ui.tests.browser/plugin.xml b/tests/org.eclipse.ui.tests.browser/plugin.xml
deleted file mode 100644
index d59b7ae..0000000
--- a/tests/org.eclipse.ui.tests.browser/plugin.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.tests.browser"
-   name="%Plugin.name"
-   version="3.1.0"
-   provider-name="%Plugin.providerName"
-   class="org.eclipse.ui.tests.browser.internal.WebBrowserTestsPlugin">
-
-   <runtime>
-      <library name="browser.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.junit"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.ui.browser"/>
-   </requires>
-
-</plugin>
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/AllTests.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/AllTests.java
deleted file mode 100644
index 87abaf7..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/AllTests.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTests {
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Tests for org.eclipse.ui.browser.tests");
-		//$JUnit-BEGIN$
-		suite.addTestSuite(ExistenceTestCase.class);
-		suite.addTestSuite(InternalBrowserViewTestCase.class);
-		suite.addTestSuite(InternalBrowserEditorTestCase.class);
-		//suite.addTestSuite(ExternalBrowserTestCase.class);
-		
-		suite.addTestSuite(DialogsTestCase.class);
-		suite.addTestSuite(PreferencesTestCase.class);
-		suite.addTestSuite(ToolbarBrowserTestCase.class);
-		//$JUnit-END$
-		return suite;
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/DialogsTestCase.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/DialogsTestCase.java
deleted file mode 100644
index 27bf329..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/DialogsTestCase.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.browser.BrowserDescriptorDialog;
-
-import junit.framework.TestCase;
-
-public class DialogsTestCase extends TestCase {
-	private Shell getShell() {
-		return PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-	}
-
-	public void testExternalBrowserDialog() {
-		BrowserDescriptorDialog bdd = new BrowserDescriptorDialog(getShell());
-		UITestHelper.assertDialog(bdd);
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ExistenceTestCase.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ExistenceTestCase.java
deleted file mode 100644
index c385ad5..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ExistenceTestCase.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import org.eclipse.ui.internal.browser.WebBrowserUIPlugin;
-
-import junit.framework.TestCase;
-
-public class ExistenceTestCase extends TestCase {
-	public void testPluginExists() {
-		assertNotNull(WebBrowserUIPlugin.getInstance());
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ExternalBrowserTestCase.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ExternalBrowserTestCase.java
deleted file mode 100644
index 64df756..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ExternalBrowserTestCase.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import java.net.URL;
-
-import org.eclipse.ui.browser.IWebBrowser;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-import org.eclipse.ui.internal.browser.WebBrowserPreference;
-
-import junit.framework.TestCase;
-
-public class ExternalBrowserTestCase extends TestCase {
-	public void testBrowser() throws Exception {
-		WebBrowserPreference.setBrowserChoice(WebBrowserPreference.EXTERNAL);
-		IWorkbenchBrowserSupport wbs = WebBrowserTestsPlugin.getInstance().getWorkbench().getBrowserSupport();
-		IWebBrowser wb = wbs.createBrowser("test2");
-		
-		wb.openURL(new URL("http://www.ibm.com"));
-		
-		try {
-			Thread.sleep(2000);
-		} catch (Exception e) {
-			// ignore
-		}
-		
-		wb.openURL(new URL("http://www.eclipse.org"));
-		
-		try {
-			Thread.sleep(2000);
-		} catch (Exception e) {
-			// ignore
-		}
-		
-		wb.close();
-		
-		try {
-			Thread.sleep(2000);
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/InternalBrowserEditorTestCase.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/InternalBrowserEditorTestCase.java
deleted file mode 100644
index e6a7db1..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/InternalBrowserEditorTestCase.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import java.net.URL;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.browser.IWebBrowser;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-import org.eclipse.ui.internal.browser.WebBrowserPreference;
-
-import junit.framework.TestCase;
-
-public class InternalBrowserEditorTestCase extends TestCase {
-	protected Shell shell;
-
-	public void testBrowser() throws Exception {
-		shell = WebBrowserTestsPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-		WebBrowserPreference.setBrowserChoice(WebBrowserPreference.INTERNAL);
-		IWorkbenchBrowserSupport wbs = WebBrowserTestsPlugin.getInstance().getWorkbench().getBrowserSupport();
-		IWebBrowser wb = wbs.createBrowser(IWorkbenchBrowserSupport.AS_EDITOR, "test", "MyBrowser", "A tooltip");
-		
-		wb.openURL(new URL("http://www.ibm.com"));
-		runLoopTimer(2);
-		
-		wb.openURL(new URL("http://www.eclipse.org"));
-		runLoopTimer(2);
-		
-		wb.close();
-		runLoopTimer(2);
-	}
-	
-	void runLoopTimer(final int seconds) {
-		final boolean[] exit = {false};
-		new Thread() {
-			public void run() {
-				try {
-					Thread.sleep(seconds * 1000);
-				} catch (Exception e) {
-					// ignore
-				}
-				exit[0] = true;
-				// wake up the event loop
-				Display display = Display.getDefault();
-				if (!display.isDisposed()) {
-					display.asyncExec(new Runnable() {
-						public void run() {
-							if (!shell.isDisposed()) shell.redraw();						
-						}
-					});
-				}
-			}
-		}.start();
-		shell.open();
-		Display display = Display.getCurrent();
-		while (!exit[0] && !shell.isDisposed()) if (!display.readAndDispatch()) display.sleep();
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/InternalBrowserViewTestCase.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/InternalBrowserViewTestCase.java
deleted file mode 100644
index 5a90c56..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/InternalBrowserViewTestCase.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import java.net.URL;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.browser.IWebBrowser;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-import org.eclipse.ui.internal.browser.WebBrowserPreference;
-
-import junit.framework.TestCase;
-
-public class InternalBrowserViewTestCase extends TestCase {
-	protected Shell shell;
-
-	public void testBrowser() throws Exception {
-		shell = WebBrowserTestsPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-		WebBrowserPreference.setBrowserChoice(WebBrowserPreference.INTERNAL);
-		IWorkbenchBrowserSupport wbs = WebBrowserTestsPlugin.getInstance().getWorkbench().getBrowserSupport();
-		IWebBrowser wb = wbs.createBrowser(IWorkbenchBrowserSupport.AS_VIEW, "test3", "MyBrowser", "A tooltip");
-		
-		wb.openURL(new URL("http://www.ibm.com"));
-		runLoopTimer(2);
-		
-		wb.openURL(new URL("http://www.eclipse.org"));
-		runLoopTimer(2);
-		
-		wb.close();
-		runLoopTimer(2);
-	}
-	
-	void runLoopTimer(final int seconds) {
-		final boolean[] exit = {false};
-		new Thread() {
-			public void run() {
-				try {
-					Thread.sleep(seconds * 1000);
-				} catch (Exception e) {
-					// ignore
-				}
-				exit[0] = true;
-				// wake up the event loop
-				Display display = Display.getDefault();
-				if (!display.isDisposed()) {
-					display.asyncExec(new Runnable() {
-						public void run() {
-							if (!shell.isDisposed()) shell.redraw();						
-						}
-					});
-				}
-			}
-		}.start();
-		shell.open();
-		Display display = Display.getCurrent();
-		while (!exit[0] && !shell.isDisposed()) if (!display.readAndDispatch()) display.sleep();
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/OrderedTestSuite.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/OrderedTestSuite.java
deleted file mode 100644
index 491d8fe..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/OrderedTestSuite.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.Vector;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-class OrderedTestSuite extends TestSuite{
-	public OrderedTestSuite(Class theClass, String name) {
-		this(theClass);
-		setName(name);
-	}
-
-	public OrderedTestSuite(final Class theClass) {
-		super();
-		setName(theClass.getName());
-		try {
-			getTestConstructor(theClass); // Avoid generating multiple error messages
-		} catch (NoSuchMethodException e) {
-			addTest(warning("Class " + theClass.getName()
-					+ " has no public constructor TestCase(String name) or TestCase()"));
-			return;
-		}
-		if (!Modifier.isPublic(theClass.getModifiers())) {
-			addTest(warning("Class " + theClass.getName() + " is not public"));
-			return;
-		}
-		Class superClass = theClass;
-		Vector names = new Vector();
-		while (Test.class.isAssignableFrom(superClass)) {
-			Method[] methods = superClass.getDeclaredMethods();
-			int size = methods.length;
-			for (int i = 0; i < size - 1; i++) {
-				for (int j = i + 1; j < size; j++) {
-					if (methods[i].getName().compareTo(methods[j].getName()) > 0) {
-						Method m = methods[i];
-						methods[i] = methods[j];
-						methods[j] = m;
-					}
-				}
-			}
-			for (int i = 0; i < size; i++) {
-				addTestMethod(methods[i], names, theClass);
-			}
-			superClass = superClass.getSuperclass();
-		}
-		if (!tests().hasMoreElements())
-			addTest(warning("No tests found in " + theClass.getName()));
-	}
-
-	private void addTestMethod(Method m, Vector names, Class theClass) {
-		String name = m.getName();
-		if (names.contains(name))
-			return;
-		if (!isPublicTestMethod(m)) {
-			if (isTestMethod(m))
-				addTest(warning("Test method isn't public: " + m.getName()));
-			return;
-		}
-		names.addElement(name);
-		addTest(createTest(theClass, name));
-	}
-
-	private boolean isPublicTestMethod(Method m) {
-		return isTestMethod(m) && Modifier.isPublic(m.getModifiers());
-	}
-
-	private boolean isTestMethod(Method m) {
-		String name = m.getName();
-		Class[] parameters = m.getParameterTypes();
-		Class returnType = m.getReturnType();
-		return parameters.length == 0 && name.startsWith("test") && returnType.equals(Void.TYPE);
-	}
-
-	private Test warning(final String message) {
-		return new TestCase("warning") {
-			protected void runTest() {
-				fail(message);
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/PreferencesTestCase.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/PreferencesTestCase.java
deleted file mode 100644
index 262d273..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/PreferencesTestCase.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jface.dialogs.Dialog;
-
-public class PreferencesTestCase extends TestCase {
-	public static Test suite() {
-		return new TestSuite(PreferencesTestCase.class);
-	}
-
-	public PreferencesTestCase(String name) {
-		super(name);
-	}
-
-	public void testInternetPreferencePage() {
-		Dialog dialog = UITestHelper.getPreferenceDialog("org.eclipse.internet");
-		UITestHelper.assertDialog(dialog);
-	}
-
-	public void testWebBrowserPreferencePage() {
-		Dialog dialog = UITestHelper.getPreferenceDialog("org.eclipse.wst.internet.webbrowser.preferencePage");
-		UITestHelper.assertDialog(dialog);
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ToolbarBrowserTestCase.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ToolbarBrowserTestCase.java
deleted file mode 100644
index 5eb9f1f..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/ToolbarBrowserTestCase.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.browser.BrowserViewer;
-
-public class ToolbarBrowserTestCase extends TestCase {
-	protected static Dialog dialog;
-	protected static Shell shell;
-	protected static BrowserViewer browser;
-	
-	class TestToolbarBrowser extends BrowserViewer {
-
-		public TestToolbarBrowser(Composite parent, int style) {
-			super(parent, style);
-		}
-		
-		public void testProtectedMethods() {
-			super.addToHistory("www.eclispe.org");
-			super.updateBackNextBusy();
-			super.updateHistory();
-			super.updateLocation();
-		}
-	}
-	
-	public static Test suite() {
-		return new OrderedTestSuite(ToolbarBrowserTestCase.class, "ToolbarBrowserTestCase");
-	}
-
-	public void test00Open() throws Exception {
-		shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-		dialog = new Dialog(shell) {
-			protected Control createDialogArea(Composite parent) {
-				Composite composite = (Composite) super.createDialogArea(parent);
-				
-				browser = new BrowserViewer(composite, BrowserViewer.LOCATION_BAR | BrowserViewer.BUTTON_BAR);
-				GridData data = new GridData(GridData.FILL_BOTH);
-				data.widthHint = 400;
-				data.heightHint = 400;
-				browser.setLayoutData(data);
-				
-				return composite;
-			}
-		};
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		
-		boolean b = Display.getCurrent().readAndDispatch();
-		while (b)
-			b = Display.getCurrent().readAndDispatch();
-	}
-	
-	public void test01SetURL() throws Exception {
-		runLoopTimer(5);
-		browser.setURL("http://www.eclipse.org");
-		runLoopTimer(10);
-	}
-
-	public void test02Home() throws Exception {
-		browser.home();
-		runLoopTimer(2);
-	}
-
-	public void test03SetURL() throws Exception {
-		browser.setURL("http://www.eclipse.org/webtools/index.html");
-		runLoopTimer(10);
-	}
-
-	public void test04IsBackEnabled() throws Exception {
-		assertTrue(browser.isBackEnabled());
-	}
-
-	public void test05Back() throws Exception {
-		assertTrue(browser.back());
-		runLoopTimer(5);
-	}
-	
-	public void test06IsForwardEnabled() throws Exception {
-		assertTrue(browser.isForwardEnabled());
-	}
-
-	public void test07Forward() throws Exception {
-		assertTrue(browser.forward());
-		runLoopTimer(5);
-	}
-	
-	public void test08Refresh() throws Exception {
-		browser.refresh();
-	}
-	
-	public void test09GetBrowser() throws Exception {
-		assertNotNull(browser.getBrowser());
-	}
-	
-	public void test10Stop() throws Exception {
-		browser.stop();
-	}
-
-	public void test11GetURL() throws Exception {
-		assertNotNull(browser.getURL());
-	}
-
-	public void test12SetFocus() throws Exception {
-		browser.setFocus();
-	}
-
-	public void test13Close() throws Exception {
-		dialog.close();
-	}
-	
-	TestToolbarBrowser ttb = null;
-	
-	public void test14ProtectedMethods() {
-		shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-		dialog = new Dialog(shell) {
-			protected Control createDialogArea(Composite parent) {
-				Composite composite = (Composite) super.createDialogArea(parent);
-				
-				ttb = new TestToolbarBrowser(composite, BrowserViewer.LOCATION_BAR | BrowserViewer.BUTTON_BAR);
-				GridData data = new GridData(GridData.FILL_BOTH);
-				data.widthHint = 400;
-				data.heightHint = 400;
-				ttb.setLayoutData(data);
-				
-				return composite;
-			}
-		};
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		
-		ttb.testProtectedMethods();
-		dialog.close();
-	}
-	
-	public void test15Listeners() {
-		BrowserViewer.IBackNextListener listener = new BrowserViewer.IBackNextListener() {
-			public void updateBackNextBusy() {
-				// ignore
-			}
-		};
-		
-		listener.updateBackNextBusy();
-	}
-	
-	public void test16Listeners() {
-		BrowserViewer.ILocationListener listener = new BrowserViewer.ILocationListener() {
-			public void locationChanged(String url) {
-				// ignore
-			}
-
-			public void historyChanged(String[] history2) {
-				// ignore
-			}
-		};
-		
-		listener.locationChanged(null);
-		listener.historyChanged(null);
-	}
-
-	void runLoopTimer(final int seconds) {
-		final boolean[] exit = {false};
-		new Thread() {
-			public void run() {
-				try {
-					Thread.sleep(seconds * 1000);
-				} catch (Exception e) {
-					// ignore
-				}
-				exit[0] = true;
-				// wake up the event loop
-				Display display = Display.getDefault();
-				if (!display.isDisposed()) {
-					display.asyncExec(new Runnable() {
-						public void run() {
-							if (!shell.isDisposed()) shell.redraw();						
-						}
-					});
-				}
-			}
-		}.start();
-		shell.open();
-		Display display = Display.getCurrent();
-		while (!exit[0] && !shell.isDisposed()) if (!display.readAndDispatch()) display.sleep();
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/UITestHelper.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/UITestHelper.java
deleted file mode 100644
index 3966b1e..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/UITestHelper.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import java.text.MessageFormat;
-import java.util.Iterator;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-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.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.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-import org.eclipse.ui.PlatformUI;
-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;
-
-public class UITestHelper {
-	private static class PreferenceDialogWrapper extends PreferenceDialog {
-		public PreferenceDialogWrapper(Shell parentShell, PreferenceManager manager) {
-			super(parentShell, manager);
-		}
-		protected boolean showPage(IPreferenceNode node) {
-			return super.showPage(node);
-		}
-	}
-	
-	private static 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);
-		}
-	}
-
-	protected static Shell getShell() {
-		return PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-	}
-
-	public static PreferenceDialog getPreferenceDialog(String id) {
-		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(id) ) {
-					dialog.showPage(node);
-					break;
-				}
-			}
-		}
-		return dialog;
-	}
-	
-	public static PropertyDialog getPropertyDialog(String id, IAdaptable element) {
-		PropertyDialogWrapper dialog = null;
-
-		PropertyPageManager manager = new PropertyPageManager();
-		String title = "";
-		String name  = "";
-
-		// 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;
-		
-		title = MessageFormat.format("PropertyDialog.propertyMessage", new Object[] {name});
-		dialog = new PropertyDialogWrapper(getShell(), manager, new StructuredSelection(element)); 
-		dialog.create();
-		dialog.getShell().setText(title);
-		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;
-	}
-	
-	/**
-	 * 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.
-	 */
-	public static void assertDialog(Dialog dialog) {
-		Assert.assertNotNull(dialog);
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		Shell shell = dialog.getShell();
-		verifyCompositeText(shell);
-		dialog.close();
-	}
-
-	/*
-	 * 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
-	 */
-	private static void verifyCompositeText(Composite composite) {
-		Control children[] = composite.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			try {
-				//verify the text if the child is a button
-				verifyButtonText((Button) children[i]);
-			} catch (ClassCastException exNotButton) {
-				try {
-					//child is not a button, maybe a label
-					verifyLabelText((Label) children[i]);
-				} catch (ClassCastException exNotLabel) {
-					try {
-						//child is not a label, make a recursive call if it is a composite
-						verifyCompositeText((Composite) children[i]);
-					} 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,
-	 */
-	private static void verifyButtonText(Button button) {
-		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,
-	 */
-	private static void verifyLabelText(Label label) {
-		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;
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/WebBrowserTestsPlugin.java b/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/WebBrowserTestsPlugin.java
deleted file mode 100644
index e566b7c..0000000
--- a/tests/org.eclipse.ui.tests.browser/src/org/eclipse/ui/tests/browser/internal/WebBrowserTestsPlugin.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.browser.internal;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-/**
- * The web browser tests plugin class.
- */
-public class WebBrowserTestsPlugin extends AbstractUIPlugin {
-	// Web browser plugin id
-	public static final String PLUGIN_ID = "org.eclipse.ui.browser.tests";
-
-	// singleton instance of this class
-	private static WebBrowserTestsPlugin singleton;
-
-	/**
-	 * Create the WebBrowserTestsPlugin
-	 */
-	public WebBrowserTestsPlugin() {
-		super();
-		singleton = this;
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 *
-	 * @return org.eclipse.ui.internal.browser.WebBrowserPlugin
-	 */
-	public static WebBrowserTestsPlugin getInstance() {
-		return singleton;
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.browser/test.xml b/tests/org.eclipse.ui.tests.browser/test.xml
deleted file mode 100644
index a48251d..0000000
--- a/tests/org.eclipse.ui.tests.browser/test.xml
+++ /dev/null
@@ -1,49 +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}\..\.."/> -->
-	<echo message="basedir ${basedir}" />
-	<echo message="eclipse place ${eclipse-home}" />
-  <!-- sets the properties plugin-name, and library-file -->
-  <property name="plugin-name" value="org.eclipse.wst.internet.webbrowser.tests"/>
-  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/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="wst-folder" value="${eclipse-home}/wst_folder"/>
-    <delete dir="${wst-folder}" quiet="true"/>
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${wst-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" value="org.eclipse.wst.internet.webbrowser.tests.AllTests" />
-   	<property name="plugin-path" value="${eclipse-home}/plugins/${plugin-name}"/>
-    </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>
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.harness/.classpath b/tests/org.eclipse.ui.tests.harness/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/tests/org.eclipse.ui.tests.harness/.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.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/tests/org.eclipse.ui.tests.harness/.cvsignore b/tests/org.eclipse.ui.tests.harness/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/tests/org.eclipse.ui.tests.harness/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/tests/org.eclipse.ui.tests.harness/.project b/tests/org.eclipse.ui.tests.harness/.project
deleted file mode 100644
index d1441f8..0000000
--- a/tests/org.eclipse.ui.tests.harness/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.tests.harness</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/tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100755
index 0adc5a5..0000000
--- a/tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Fri Mar 03 16:41:41 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=ignore
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100755
index 18b09f6..0000000
--- a/tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon Feb 06 11:19:46 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.3\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template></templates>
diff --git a/tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.pde.prefs
deleted file mode 100755
index 883666b..0000000
--- a/tests/org.eclipse.ui.tests.harness/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Mon Feb 21 14:17:36 EST 2005
-compilers.p.deprecated=2
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=1
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/tests/org.eclipse.ui.tests.harness/META-INF/MANIFEST.MF b/tests/org.eclipse.ui.tests.harness/META-INF/MANIFEST.MF
deleted file mode 100644
index cad2ab6..0000000
--- a/tests/org.eclipse.ui.tests.harness/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Harness Plug-in
-Bundle-SymbolicName: org.eclipse.ui.tests.harness;singleton:=true
-Bundle-Version: 1.0.0
-Bundle-Activator: org.eclipse.ui.tests.harness.UITestHarnessPlugin
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.tests.harness,
- org.junit,
- org.eclipse.core.resources,
- org.eclipse.ui.ide
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.ui.tests.harness.util
diff --git a/tests/org.eclipse.ui.tests.harness/about.html b/tests/org.eclipse.ui.tests.harness/about.html
deleted file mode 100644
index 4602330..0000000
--- a/tests/org.eclipse.ui.tests.harness/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.harness/build.properties b/tests/org.eclipse.ui.tests.harness/build.properties
deleted file mode 100644
index 44806c6..0000000
--- a/tests/org.eclipse.ui.tests.harness/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml
diff --git a/tests/org.eclipse.ui.tests.harness/icons/anything.gif b/tests/org.eclipse.ui.tests.harness/icons/anything.gif
deleted file mode 100644
index efc77a7..0000000
--- a/tests/org.eclipse.ui.tests.harness/icons/anything.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests.harness/plugin.xml b/tests/org.eclipse.ui.tests.harness/plugin.xml
deleted file mode 100644
index 482a837..0000000
--- a/tests/org.eclipse.ui.tests.harness/plugin.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
- <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="Performance Empty Perspective"
-            class="org.eclipse.ui.tests.harness.util.EmptyPerspective"
-            id="org.eclipse.ui.tests.harness.util.EmptyPerspective">
-      </perspective>
-      <perspective
-            name="Performance Empty Perspective 2"
-            class="org.eclipse.ui.tests.harness.util.EmptyPerspective"
-            id="org.eclipse.ui.tests.harness.util.EmptyPerspective2">
-      </perspective>
-	</extension>
-</plugin>
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/AllTests.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/AllTests.java
deleted file mode 100644
index 42eeb67..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/AllTests.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.harness;
-
-import org.eclipse.ui.tests.harness.tests.MocksTest;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Test the test harness :)
- * 
- * @since 3.3
- *
- */
-public class AllTests extends TestSuite {
-
-    public static void main(String[] args) {
-        junit.textui.TestRunner.run(suite());
-    }
-    
-    public static Test suite() {
-        return new AllTests();
-    }
-
-    public AllTests() {
-        addTestSuite(MocksTest.class);
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/UITestHarnessPlugin.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/UITestHarnessPlugin.java
deleted file mode 100644
index e0d7b26..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/UITestHarnessPlugin.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.harness;
-
-import org.eclipse.ui.plugin.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class UITestHarnessPlugin extends AbstractUIPlugin {
-
-	//The shared instance.
-	private static UITestHarnessPlugin plugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public UITestHarnessPlugin() {
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 *
-	 * @return the shared instance.
-	 */
-	public static UITestHarnessPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path.
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.ui.tests.harness", path);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/tests/MocksTest.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/tests/MocksTest.java
deleted file mode 100644
index b7a9f5c..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/tests/MocksTest.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Brad Reynolds.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Brad Reynolds - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.harness.tests;
-
-import java.lang.reflect.UndeclaredThrowableException;
-
-import junit.framework.TestCase;
-
-import org.eclipse.ui.tests.harness.util.Mocks;
-
-/**
- * Tests for the Mocks class.
- * 
- * @since 1.1
- */
-public class MocksTest extends TestCase {
-	private IPrimitive primitiveMock;
-
-	private static boolean uninitializedBoolean;
-	private static byte unitializedByte;
-	private static char unitializedChar;
-	private static short unitializedShort;
-	private static int unitializedInt;
-	private static long unitializedLong;
-	private static float unitializedFloat;
-	private static double unitializedDouble;
-	
-	protected void setUp() throws Exception {
-		primitiveMock = (IPrimitive) Mocks.createRelaxedMock(IPrimitive.class);
-	}
-
-	public void testPrimitiveBooleanReturnType() throws Exception {
-		try {
-			boolean value = primitiveMock.getBoolean();
-			assertEquals(uninitializedBoolean, value);
-		} catch (UndeclaredThrowableException e) {
-			fail("exception should not have been thrown");
-		}
-	}
-	
-	public void testPrimitiveBooleanSetLastReturnValue() throws Exception {
-		Boolean value = Boolean.TRUE;
-		primitiveMock.getBoolean();
-		Mocks.setLastReturnValue(primitiveMock, value);
-		Mocks.startChecking(primitiveMock);
-		
-		assertEquals(value.booleanValue(), primitiveMock.getBoolean());		
-	}
-	
-	public void testPrimitiveByteReturnType() throws Exception {
-		try {
-			byte value = primitiveMock.getByte();
-			assertEquals(unitializedByte, value);
-		} catch (UndeclaredThrowableException e) {
-			fail("exception should not have been thrown");
-		}
-	}
-	
-	public void testPrimitiveByteSetLastReturnValue() throws Exception {
-		Byte value = new Byte((byte) 1);
-		primitiveMock.getByte();
-		Mocks.setLastReturnValue(primitiveMock, value);
-		Mocks.startChecking(primitiveMock);
-		
-		assertEquals(value.byteValue(), primitiveMock.getByte());
-	}
-	
-	public void testPrimitiveCharReturnType() throws Exception {
-		try {
-			char value = primitiveMock.getChar();
-			assertEquals(unitializedChar, value);
-		} catch (UndeclaredThrowableException e) {
-			fail("exception should not have been thrown");
-		}
-	}
-	
-	public void testPrimitiveCharSetLastReturnValue() throws Exception {
-		Character value = new Character('a');
-		primitiveMock.getChar();
-		Mocks.setLastReturnValue(primitiveMock, value);
-		Mocks.startChecking(primitiveMock);
-		
-		assertEquals(value.charValue(), primitiveMock.getChar());
-	}
-	
-	public void testPrimitiveShortReturnType() throws Exception {
-		try {
-			short value = primitiveMock.getShort();
-			assertEquals(unitializedShort, value);
-		} catch (UndeclaredThrowableException e) {
-			fail("exception should not have been thrown");
-		}
-	}
-
-	public void testPrimitiveShortSetLastReturnValue() throws Exception {
-		Short value = new Short((short) 1);
-		primitiveMock.getShort();
-		Mocks.setLastReturnValue(primitiveMock, value);
-		Mocks.startChecking(primitiveMock);
-		
-		assertEquals(value.shortValue(), primitiveMock.getShort());
-	}
-	
-	public void testPrimitiveIntReturnType() throws Exception {
-		try {
-			int value = primitiveMock.getInt();
-			assertEquals(unitializedInt, value);
-		} catch (UndeclaredThrowableException e) {
-			fail("exception should not have been thrown");
-		}
-	}
-	
-	public void testPrimitiveIntSetLastReturnValue() throws Exception {
-		Integer value = new Integer(1);
-		primitiveMock.getInt();
-		Mocks.setLastReturnValue(primitiveMock, value);
-		Mocks.startChecking(primitiveMock);
-		
-		assertEquals(value.intValue(), primitiveMock.getInt());
-	}
-	
-	public void testPrimitiveLongReturnType() throws Exception {
-		try {
-			long value = primitiveMock.getLong();
-			assertEquals(unitializedLong, value);
-		} catch (UndeclaredThrowableException e) {
-			fail("exception should not have been thrown");
-		}
-	}
-	
-	public void testPrimitiveLongSetLastReturnValue() throws Exception {
-		Long value = new Long(1);
-		primitiveMock.getLong();
-		Mocks.setLastReturnValue(primitiveMock, value);
-		Mocks.startChecking(primitiveMock);
-		
-		assertEquals(value.longValue(), primitiveMock.getLong());
-	}
-	
-	public void testPrimitiveFloatReturnType() throws Exception {
-		try {
-			float value = primitiveMock.getFloat();
-			assertEquals(unitializedFloat, value, 0);
-		} catch (UndeclaredThrowableException e) {
-			fail("exception should not have been thrown");
-		}
-	}
-	
-	public void testPrimitiveFloatSetLastReturnValue() throws Exception {
-		Float value = new Float(1);
-		primitiveMock.getFloat();
-		Mocks.setLastReturnValue(primitiveMock, value);
-		Mocks.startChecking(primitiveMock);
-		
-		assertEquals(value.floatValue(), primitiveMock.getFloat(), 0);
-	}
-	
-	public void testPrimitiveDoubleReturnType() throws Exception {
-		try {
-			double value = primitiveMock.getDouble();
-			assertEquals(unitializedDouble, value, 0);
-		} catch (UndeclaredThrowableException e) {
-			fail("exception should not have been thrown");
-		}
-	}
-	
-	public void testPrimitiveDoubleSetLastReturnValue() throws Exception {
-		Double value = new Double(1);
-		primitiveMock.getDouble();
-		Mocks.setLastReturnValue(primitiveMock, value);
-		Mocks.startChecking(primitiveMock);
-		
-		assertEquals(value.doubleValue(), primitiveMock.getDouble(), 0);
-	}
-
-	public interface IPrimitive {
-		public boolean getBoolean();
-
-		public byte getByte();
-
-		public char getChar();
-
-		public short getShort();
-
-		public int getInt();
-
-		public long getLong();
-
-		public float getFloat();
-
-		public double getDouble();
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ActionUtil.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ActionUtil.java
deleted file mode 100644
index 35e5393..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ActionUtil.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.harness.util;
-
-import java.lang.reflect.Method;
-
-import junit.framework.Assert;
-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) {
-        Assert.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;
-                }
-            }
-        }
-        Assert.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);
-        Assert.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.harness/src/org/eclipse/ui/tests/harness/util/ArrayUtil.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ArrayUtil.java
deleted file mode 100644
index 9afabce..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ArrayUtil.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.harness.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;
-        }
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/AutomationUtil.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/AutomationUtil.java
deleted file mode 100644
index eae1417..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/AutomationUtil.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.harness.util;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-
-/**
- * <code>AutomationUtil</code> contains utility methods to mimic key events.
- * Mouse event methods can be added if needed to complete this class.
- */
-public class AutomationUtil {
-
-	/**
-	 * Method to mimic a key code event on a display.
-	 * 
-	 * @param display
-	 *            The display.
-	 * @param eventType
-	 *            The event type.
-	 * @param keyCode
-	 *            The key code.
-	 */
-	public static void performKeyCodeEvent(Display display, int eventType,
-			int keyCode) {
-		Event event = new Event();
-		event.type = eventType;
-		event.keyCode = keyCode;
-		display.post(event);
-	}
-
-	/**
-	 * Method to mimic a character event on a display.
-	 * 
-	 * @param display
-	 *            The display.
-	 * @param eventType
-	 *            The event type.
-	 * @param character
-	 *            The character to mimic.
-	 */
-	public static void performCharacterEvent(Display display, int eventType,
-			char character) {
-		Event event = new Event();
-		event.type = eventType;
-		event.character = character;
-		display.post(event);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/CallHistory.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/CallHistory.java
deleted file mode 100644
index 4ec7030..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/CallHistory.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.harness.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));
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/DialogCheck.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/DialogCheck.java
deleted file mode 100644
index f7f0c37..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/DialogCheck.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.harness.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++) {
-        	Control child = children[i];
-            if (child instanceof TabFolder) {
-                TabFolder folder = (TabFolder) child;
-                int numPages = folder.getItemCount();
-                for (int j = 0; j < numPages; j++) {
-                    folder.setSelection(j);
-                }
-            }
-            else if (child instanceof Button) {
-                //verify the text if the child is a button
-                verifyButtonText((Button) child, assertion);
-            }
-            else if (child instanceof Label) {
-                //child is not a button, maybe a label
-                verifyLabelText((Label) child, assertion);
-            }
-            else if (child instanceof Composite) {
-                //child is not a label, make a recursive call if it is a composite
-                verifyCompositeText((Composite) child, assertion);
-            }
-        }
-    }
-
-    /*
-     * 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.harness/src/org/eclipse/ui/tests/harness/util/EmptyPerspective.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/EmptyPerspective.java
deleted file mode 100644
index 3baed17..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/EmptyPerspective.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.harness.util;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-/**
- * This perspective is used for testing api.  It defines an initial
- * layout with no parts, just an editor area.
- */
-public class EmptyPerspective implements IPerspectiveFactory {
-
-    /**
-     * The perspective id for the empty perspective.
-     */
-    public static final String PERSP_ID = "org.eclipse.ui.tests.harness.util.EmptyPerspective";
-
-    /**
-     * The perspective id for the second empty perspective.
-     */
-    public static final String PERSP_ID2 = "org.eclipse.ui.tests.harness.util.EmptyPerspective2";
-
-    private static String LastPerspective;
-    
-    /**
-     * Returns the descriptor for the perspective last opened using this factory.
-     * 
-     * @return the descriptor for the perspective last opened using this factory, or <code>null</code>
-     */
-	public static String getLastPerspective() {
-		return LastPerspective;
-	}
-
-    /**
-     * Sets the descriptor for the perspective last opened using this factory.
-     * 
-     * @param persp the descriptor for the perspective last opened using this factory, or <code>null</code>
-     */
-	public static void setLastPerspective(String perspId) {
-		LastPerspective = perspId;
-	}
-    
-    /**
-     * 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) {
-    	setLastPerspective(layout.getDescriptor().getId());
-        // do no layout, this is the empty perspective
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/FileTool.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/FileTool.java
deleted file mode 100644
index 47e6b2a..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/FileTool.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.tests.harness.util;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.io.Writer;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-
-
-public class FileTool {
-	
-	/**
-	 * A buffer.
-	 */
-	private static byte[] buffer = new byte[8192];
-	/**
-	 * Unzips the given zip file to the given destination directory
-	 * extracting only those entries the pass through the given
-	 * filter.
-	 * 
-	 * @param filter filters out unwanted zip entries
-	 * @param zipFile the zip file to unzip
-	 * @param dstDir the destination directory
-	 */
-	public static void unzip(ZipFile zipFile, File dstDir) throws IOException {
-		unzip(zipFile, dstDir, dstDir, 0);
-	}
-	
-	private static void unzip(ZipFile zipFile, File rootDstDir, File dstDir, int depth) throws IOException {
-	
-		Enumeration entries = zipFile.entries();
-	
-		try {
-			while(entries.hasMoreElements()){
-				ZipEntry entry = (ZipEntry)entries.nextElement();
-				if(entry.isDirectory()){
-					continue;
-				}
-				String entryName = entry.getName();
-				File file = new File(dstDir, changeSeparator(entryName, '/', File.separatorChar));
-				file.getParentFile().mkdirs();
-				InputStream src = null;
-				OutputStream dst = null;
-				try {
-					src = zipFile.getInputStream(entry);
-					dst = new FileOutputStream(file);
-					transferData(src, dst);
-				} finally {
-					if(dst != null){
-						try {
-							dst.close();
-						} catch(IOException e){
-						}
-					}
-					if(src != null){
-						try {
-							src.close();
-						} catch(IOException e){
-						}
-					}
-				}
-			}
-		} finally {
-			try {
-				zipFile.close();
-			} catch(IOException e){
-			}
-		}
-	}
-	/**
-	 * Returns the given file path with its separator
-	 * character changed from the given old separator to the
-	 * given new separator.
-	 * 
-	 * @param path a file path
-	 * @param oldSeparator a path separator character
-	 * @param newSeparator a path separator character
-	 * @return the file path with its separator character
-	 * changed from the given old separator to the given new
-	 * separator
-	 */
-	public static String changeSeparator(String path, char oldSeparator, char newSeparator){
-		return path.replace(oldSeparator, newSeparator);
-	}
-	/**
-	 * Copies all bytes in the given source file to
-	 * the given destination file.
-	 * 
-	 * @param source the given source file
-	 * @param destination the given destination file
-	 */
-	public static void transferData(File source, File destination) throws IOException {
-		destination.getParentFile().mkdirs();
-		InputStream is = null;
-		OutputStream os = null;
-		try {
-			is = new FileInputStream(source);
-			os = new FileOutputStream(destination);
-			transferData(is, os);
-		} finally {
-			if(os != null){
-				try {
-					os.close();
-				} catch(IOException e){
-				}
-			}
-			if(is != null){
-				try {
-					is.close();
-				} catch(IOException e){
-				}
-			}
-		}
-	}
-	/**
-	 * Copies all bytes in the given source stream to
-	 * the given destination stream. Neither streams
-	 * are closed.
-	 * 
-	 * @param source the given source stream
-	 * @param destination the given destination stream
-	 */
-	public static void transferData(InputStream source, OutputStream destination) throws IOException {
-		int bytesRead = 0;
-		while(bytesRead != -1){
-			bytesRead = source.read(buffer, 0, buffer.length);
-			if(bytesRead != -1){
-				destination.write(buffer, 0, bytesRead);
-			}
-		}
-	}
-
-	/**
-	 * Copies the given source file to the given destination file.
-	 * 
-	 * @param src the given source file
-	 * @param dst the given destination file
-	 */
-	public static void copy(File src, File dst) throws IOException {
-		if(src.isDirectory()){
-			String[] srcChildren = src.list();
-			for(int i = 0; i < srcChildren.length; ++i){
-				File srcChild= new File(src, srcChildren[i]);
-				File dstChild= new File(dst, srcChildren[i]);
-				copy(srcChild, dstChild);
-			}
-		} else
-			transferData(src, dst);
-	}
-
-	public static File getFileInPlugin(Plugin plugin, IPath path) {
-		try {
-			URL installURL= plugin.getBundle().getEntry(path.toString());
-			URL localURL= Platform.asLocalURL(installURL);
-			return new File(localURL.getFile());
-		} catch (IOException e) {
-			return null;
-		}
-	}
-
-	public static StringBuffer read(String fileName) throws IOException {
-		return read(new FileReader(fileName));
-	}
-
-	public static StringBuffer read(Reader reader) throws IOException {
-		StringBuffer s= new StringBuffer();
-		try {
-			char[] buffer= new char[8196];
-			int chars= reader.read(buffer);
-			while (chars != -1) {
-				s.append(buffer, 0, chars);
-				chars= reader.read(buffer);
-			}
-		} finally {
-			try {
-				reader.close();
-			} catch (IOException e) {
-			}
-		}
-		return s;
-	}
-
-	public static void write(String fileName, StringBuffer content) throws IOException {
-		Writer writer= new FileWriter(fileName);
-		try {
-			writer.write(content.toString());
-		} finally {
-			try {
-				writer.close();
-			} catch (IOException e) {
-			}
-		}
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/FileUtil.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/FileUtil.java
deleted file mode 100644
index ae6685f..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/FileUtil.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.harness.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.harness/src/org/eclipse/ui/tests/harness/util/ImageTests.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ImageTests.java
deleted file mode 100644
index 2a9111a..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/ImageTests.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.harness.util;
-
-import java.util.Arrays;
-
-import junit.framework.Assert;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-
-/**
- * @since 3.1
- */
-public final class ImageTests {
-
-	/**
-	 * 
-	 */
-	private ImageTests() {
-		super();
-	}
-
-    public static void assertEquals(Image i1, Image i2) {
-        ImageData data1 = i1.getImageData();
-        ImageData data2 = i2.getImageData();
-        Assert.assertTrue(Arrays.equals(data1.data, data2.data));
-    }
-    
-    public static void assertNotEquals(Image i1, Image i2) {
-        ImageData data1 = i1.getImageData();
-        ImageData data2 = i2.getImageData();
-        Assert.assertFalse(Arrays.equals(data1.data, data2.data));
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/Mocks.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/Mocks.java
deleted file mode 100644
index 59e7701..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/Mocks.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Brad Reynolds (bug 146435)
- *******************************************************************************/
-package org.eclipse.ui.tests.harness.util;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import junit.framework.AssertionFailedError;
-
-/**
- * Utility class for creating mock objects for public interfaces.
- * 
- * @since 3.3
- *
- */
-public class Mocks {
-
-	public static interface EqualityComparator {
-		public boolean equals(Object o1, Object o2);
-	}
-
-	private static EqualityComparator defaultEqualityComparator = new EqualityComparator() {
-		public boolean equals(Object o1, Object o2) {
-			return o1 == null ? o2 == null : o1.equals(o2);
-		}
-	};
-
-	private static EqualityComparator indifferentEqualityComparator = new EqualityComparator() {
-		public boolean equals(Object o1, Object o2) {
-			return true;
-		}
-	};
-
-	private static interface Mock {
-		public MockInvocationHandler getMockInvocationHandler();
-	}
-
-	private static Method getMockInvocationHandlerMethod;
-
-	private static Method equalsMethod;
-
-	static {
-		try {
-			getMockInvocationHandlerMethod = Mock.class.getMethod(
-					"getMockInvocationHandler", new Class[0]);
-			equalsMethod = Object.class.getMethod("equals",
-					new Class[] { Object.class });
-		} catch (Exception e) {
-			// ignore, will lead to NullPointerExceptions later on
-		}
-	}
-
-	private static final class MockInvocationHandler implements
-			InvocationHandler {
-
-		private class MethodCall {
-			private final Method method;
-
-			private final Object[] args;
-
-			private Object returnValue = null;
-
-			public MethodCall(Method method, Object[] args) {
-				this.method = method;
-				this.args = args;
-			}
-
-			public boolean equals(Object obj) {
-				if (!(obj instanceof MethodCall)) {
-					return false;
-				}
-				MethodCall other = (MethodCall) obj;
-				if (other.method != method
-						|| (other.args == null && args != null)
-						|| (other.args != null && args == null)
-						|| (args != null && other.args.length != args.length)) {
-					return false;
-				}
-				if (args != null) {
-					for (int i = 0; i < args.length; i++) {
-						if (!equalityComparator.equals(args[i], other.args[i])) {
-							return false;
-						}
-					}
-				}
-				return true;
-			}
-
-			public void setReturnValue(Object object) {
-				returnValue = object;
-			}
-
-			public Object getReturnValue() {
-				return returnValue;
-			}
-			
-			public String toString() {
-				return method.toString();
-			}
-		}
-
-		List previousCallHistory = null;
-
-		List currentCallHistory = new ArrayList();
-
-		private final boolean ordered;
-
-		private final EqualityComparator equalityComparator;
-
-		public MockInvocationHandler(boolean ordered,
-				EqualityComparator equalityComparator) {
-			this.ordered = ordered;
-			this.equalityComparator = equalityComparator;
-		}
-
-		public Object invoke(Object proxy, Method method, Object[] args)
-				throws Throwable {
-			if (getMockInvocationHandlerMethod.equals(method)) {
-				return this;
-			}
-			if (equalsMethod.equals(method)) {
-				return new Boolean(proxy == args[0]);
-			}
-			MethodCall methodCall = new MethodCall(method, args);
-			if (previousCallHistory != null) {
-				// we are in replay mode
-				int indexOfMethodCall = previousCallHistory.indexOf(methodCall);
-				if (indexOfMethodCall != -1) {
-					// copy return value over to this method call
-					methodCall.setReturnValue(((MethodCall) previousCallHistory
-							.get(indexOfMethodCall)).getReturnValue());
-				} else {
-					throw new AssertionFailedError("unexpected method call: "
-							+ method.getName());
-				}
-				if (ordered) {
-					if (previousCallHistory.size() <= currentCallHistory.size()) {
-						throw new AssertionFailedError("extra method call: "
-								+ method.getName());
-					}
-					MethodCall previousCall = (MethodCall) previousCallHistory
-							.get(currentCallHistory.size());
-					if (!methodCall.equals(previousCall)) {
-						throw new AssertionFailedError(
-								"different method call (expected:"
-										+ previousCall.method.getName()
-										+ ", actual:" + method.getName() + ")");
-					}
-				}
-			}
-			currentCallHistory.add(methodCall);
-			Class returnType = method.getReturnType();
-			if (returnType.isPrimitive() && void.class != returnType) {
-				Object result = null;
-				Object returnValue = methodCall.getReturnValue();
-
-				if (returnType == boolean.class) {
-					result = (returnValue != null) ? (Boolean) returnValue
-							: Boolean.FALSE;
-				} else if (returnType == byte.class) {
-					result = (returnValue != null) ? (Byte) returnValue
-							: new Byte((byte) 0);
-				} else if (returnType == char.class) {
-					result = (returnValue != null) ? (Character) returnValue
-							: new Character((char) 0);
-				} else if (returnType == short.class) {
-					result = (returnValue != null) ? (Short) returnValue
-							: new Short((short) 0);
-				} else if (returnType == int.class) {
-					result = (returnValue != null) ? (Integer) returnValue
-							: new Integer(0);
-				} else if (returnType == long.class) {
-					result = (returnValue != null) ? (Long) returnValue
-							: new Long(0);
-				} else if (returnType == float.class) {
-					result = (returnValue != null) ? (Float) returnValue
-							: new Float(0);
-				} else if (returnType == double.class) {
-					result = (returnValue != null) ? (Double) returnValue
-							: new Double(0);
-				}
-
-				return result;
-			}
-			return methodCall.getReturnValue();
-		}
-
-		public void replay() {
-			previousCallHistory = currentCallHistory;
-			currentCallHistory = new ArrayList();
-		}
-
-		public void verify() {
-			if (previousCallHistory == null) {
-				if (currentCallHistory.size() == 0) {
-					// mock object was not used at all
-					return;
-				}
-				throw new AssertionFailedError("unexpected");
-			}
-			if (ordered) {
-				int numMissingCalls = previousCallHistory.size()
-						- currentCallHistory.size();
-				if (numMissingCalls > 0) {
-					throw new AssertionFailedError("missing method calls ("
-							+ numMissingCalls + ", first is: " + previousCallHistory.get(currentCallHistory.size()) + ")");
-				}
-				for (int i = 0; i < previousCallHistory.size(); i++) {
-					if (!previousCallHistory.get(i).equals(
-							currentCallHistory.get(i))) {
-						throw new AssertionFailedError(
-								"method call did not match (" + i + " of "
-										+ currentCallHistory.size() + ")");
-					}
-				}
-			} else {
-				for (Iterator it = previousCallHistory.iterator(); it.hasNext();) {
-					MethodCall methodCall = (MethodCall) it.next();
-					if (!currentCallHistory.contains(methodCall)) {
-						throw new AssertionFailedError("missing method call:"
-								+ methodCall.method.getName());
-					}
-				}
-			}
-			reset();
-		}
-
-		public void reset() {
-			previousCallHistory = null;
-			currentCallHistory = new ArrayList();
-		}
-
-		public void setLastReturnValue(Object object) {
-			MethodCall methodCall = (MethodCall) currentCallHistory
-					.get(currentCallHistory.size() - 1);
-			methodCall.setReturnValue(object);
-		}
-	}
-
-	/**
-	 * Creates a mock object that neither looks at the order of method calls nor
-	 * at the arguments.
-	 * 
-	 * @param interfaceType
-	 * @return a mock object that checks for the order of method invocations but
-	 *         not for equality of method arguments
-	 */
-	public static Object createRelaxedMock(Class interfaceType) {
-		return createMock(interfaceType, false, indifferentEqualityComparator);
-	}
-
-	/**
-	 * Creates a mock object that does not look at the arguments, but checks
-	 * that the order of calls is as expected.
-	 * 
-	 * @param interfaceType
-	 * @return a mock object that checks for the order of method invocations but
-	 *         not for equality of method arguments
-	 */
-	public static Object createOrderedMock(Class interfaceType) {
-		return createMock(interfaceType, true, indifferentEqualityComparator);
-	}
-
-	/**
-	 * creates a fussy mock object
-	 * 
-	 * @param interfaceType
-	 * @return a mock object that checks for the order of method invocations and
-	 *         for equality of method arguments
-	 */
-	public static Object createMock(Class interfaceType) {
-		return createMock(interfaceType, true, defaultEqualityComparator);
-	}
-
-	/**
-	 * creates a fussy mock object with a comparator
-	 * 
-	 * @param interfaceType
-	 * @return a mock object that checks for the order of method invocations and
-	 *         uses the given comparator to compare method arguments
-	 */
-	public static Object createMock(Class interfaceType,
-			EqualityComparator equalityComparator) {
-		return createMock(interfaceType, true, equalityComparator);
-	}
-
-	private static Object createMock(Class interfaceType, boolean ordered,
-			EqualityComparator equalityComparator) {
-		if (!interfaceType.isInterface()) {
-			throw new IllegalArgumentException();
-		}
-		MockInvocationHandler mockInvocationHandler = new MockInvocationHandler(
-				ordered, equalityComparator);
-		Object newProxyInstance = Proxy.newProxyInstance(Mocks.class
-				.getClassLoader(), new Class[] { interfaceType, Mock.class },
-				mockInvocationHandler);
-		return newProxyInstance;
-	}
-
-	public static void startChecking(Object mock) {
-		getMockInvocationHandler(mock).replay();
-	}
-
-	public static void verify(Object mock) {
-		getMockInvocationHandler(mock).verify();
-	}
-
-	public static void reset(Object mock) {
-		getMockInvocationHandler(mock).reset();
-	}
-
-	private static MockInvocationHandler getMockInvocationHandler(Object mock) {
-		return ((Mock) mock).getMockInvocationHandler();
-	}
-
-	public static void setLastReturnValue(Object mock, Object object) {
-		getMockInvocationHandler(mock).setLastReturnValue(object);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/PlatformUtil.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/PlatformUtil.java
deleted file mode 100644
index fc1ca93..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/PlatformUtil.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.harness.util;
-
-import org.eclipse.swt.SWT;
-
-/**
- * The Platform Util class is used to test for which platform we are in
- */
-public class PlatformUtil {
-    
-    /**
-     * Determine if we are running on the Mac platform.
-     * 
-     * @return true if we are runnig on the Mac platform.
-     */
-    public static boolean onMac() {
-        String platform = SWT.getPlatform();
-        return platform.equals("carbon");
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/UITestCase.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/UITestCase.java
deleted file mode 100644
index 9bcdc26..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/harness/util/UITestCase.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.harness.util;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.PrintStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-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 {
-
-	/**
-	 * Returns the workbench page input to use for newly created windows.
-	 *  
-	 * @return the page input to use for newly created windows
-	 * @since 3.1
-	 */
-	public static IAdaptable getPageInput() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-	
-	class TestWindowListener implements IWindowListener {
-        private boolean enabled = true;
-
-        public void setEnabled(boolean enabled) {
-            this.enabled = enabled;
-        }
-
-        public void windowActivated(IWorkbenchWindow window) {
-            // do nothing
-        }
-
-        public void windowDeactivated(IWorkbenchWindow window) {
-            // do nothing
-        }
-
-        public void windowClosed(IWorkbenchWindow window) {
-            if (enabled)
-                testWindows.remove(window);
-        }
-
-        public void windowOpened(IWorkbenchWindow window) {
-            if (enabled)
-                testWindows.add(window);
-        }
-    }
-
-    protected IWorkbench fWorkbench;
-
-    private List testWindows;
-
-    private TestWindowListener windowListener;
-
-    public UITestCase(String testName) {
-        super(testName);
-        //		ErrorDialog.NO_UI = true;
-        fWorkbench = PlatformUI.getWorkbench();
-        testWindows = new ArrayList(3);
-    }
-
-	/**
-	 * Fails the test due to the given throwable.
-	 */
-	public static void fail(String message, Throwable e) {
-		// If the exception is a CoreException with a multistatus
-		// then print out the multistatus so we can see all the info.
-		if (e instanceof CoreException) {
-			IStatus status = ((CoreException) e).getStatus();
-			write(status, 0);
-		} else
-			e.printStackTrace();
-		fail(message + ": " + e);
-	}
-
-	private static void indent(OutputStream output, int indent) {
-		for (int i = 0; i < indent; i++)
-			try {
-				output.write("\t".getBytes());
-			} catch (IOException e) {
-				// ignore
-			}
-	}
-
-	private static void write(IStatus status, int indent) {
-		PrintStream output = System.out;
-		indent(output, indent);
-		output.println("Severity: " + status.getSeverity());
-
-		indent(output, indent);
-		output.println("Plugin ID: " + status.getPlugin());
-
-		indent(output, indent);
-		output.println("Code: " + status.getCode());
-
-		indent(output, indent);
-		output.println("Message: " + status.getMessage());
-
-		if (status.getException() != null) {
-			indent(output, indent);
-			output.print("Exception: ");
-			status.getException().printStackTrace(output);
-		}
-
-		if (status.isMultiStatus()) {
-			IStatus[] children = status.getChildren();
-			for (int i = 0; i < children.length; i++)
-				write(children[i], indent + 1);
-		}
-	}
-
-	/**
-     * Adds a window listener to the workbench to keep track of
-     * opened test windows.
-     */
-    private void addWindowListener() {
-        windowListener = new TestWindowListener();
-        fWorkbench.addWindowListener(windowListener);
-    }
-
-    /**
-     * Removes the listener added by <code>addWindowListener</code>. 
-     */
-    private void removeWindowListener() {
-        if (windowListener != null) {
-            fWorkbench.removeWindowListener(windowListener);
-        }
-    }
-
-    /**
-     * Outputs a trace message to the trace output device, if enabled.
-     * By default, trace messages are sent to <code>System.out</code>.
-     * 
-     * @param msg the trace message
-     */
-    protected void trace(String msg) {
-        System.err.println(msg);
-    }
-
-    /**
-     * Simple implementation of setUp. Subclasses are prevented 
-     * from overriding this method to maintain logging consistency.
-     * doSetUp() should be overriden instead.
-     */
-    protected final void setUp() throws Exception {
-    	super.setUp();
-    	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 {
-        super.tearDown();
-        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 static void processEvents() {
-        Display display = PlatformUI.getWorkbench().getDisplay();
-        if (display != null)
-            while (display.readAndDispatch())
-                ;
-    }
-
-    /** 
-     * Open a test window with the empty perspective.
-     */
-    public IWorkbenchWindow openTestWindow() {
-        return openTestWindow(EmptyPerspective.PERSP_ID);
-    }
-
-    /**
-     * Open a test window with the provided perspective.
-     */
-    public IWorkbenchWindow openTestWindow(String perspectiveId) {
-		try {
-			IWorkbenchWindow window = fWorkbench.openWorkbenchWindow(
-					perspectiveId, getPageInput());
-			waitOnShell(window.getShell());
-			return window;
-		} catch (WorkbenchException e) {
-			fail();
-			return null;
-		}
-	}
-
-    /**
-	 * Try and process events until the new shell is the active shell. This may
-	 * never happen, so time out after a suitable period.
-	 * 
-	 * @param shell
-	 *            the shell to wait on
-	 * @since 3.2
-	 */
-	private void waitOnShell(Shell shell) {
-
-		processEvents();
-//		long endTime = System.currentTimeMillis() + 5000;
-//
-//		while (shell.getDisplay().getActiveShell() != shell
-//				&& System.currentTimeMillis() < endTime) {
-//			processEvents();
-//		}
-	}
-
-	/**
-	 * 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 perspective in a window.
-     */
-    public IWorkbenchPage[] openTestPage(IWorkbenchWindow win, int pageTotal) {
-        try {
-            IWorkbenchPage[] pages = new IWorkbenchPage[pageTotal];
-            IAdaptable input = getPageInput();
-
-            for (int i = 0; i < pageTotal; i++) {
-                pages[i] = win.openPage(EmptyPerspective.PERSP_ID, input);
-            }
-            return pages;
-        } catch (WorkbenchException e) {
-            fail();
-            return null;
-        }
-    }
-
-    /**
-     * Close all pages within a window.
-     */
-    public void closeAllPages(IWorkbenchWindow window) {
-        IWorkbenchPage[] pages = window.getPages();
-        for (int i = 0; i < pages.length; i++)
-            pages[i].close();
-    }
-
-    /**
-     * Set whether the window listener will manage opening and closing of created windows.
-     */
-    protected void manageWindows(boolean manage) {
-        windowListener.setEnabled(manage);
-    }
-    
-    /**
-     * Returns the workbench.
-     * 
-     * @return the workbench
-     * @since 3.1
-     */
-    protected IWorkbench getWorkbench() {
-        return fWorkbench;
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/AccessibilityTestPass.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/AccessibilityTestPass.java
deleted file mode 100644
index ef9e030..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/AccessibilityTestPass.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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;
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/FailureDialog.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/FailureDialog.java
deleted file mode 100644
index 22e2735..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/FailureDialog.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.internal.util;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-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;
-
-/*
- * 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.harness/src/org/eclipse/ui/tests/internal/util/FocusTestPass.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/FocusTestPass.java
deleted file mode 100644
index d0808e4..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/FocusTestPass.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.harness/src/org/eclipse/ui/tests/internal/util/IDialogTestPass.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/IDialogTestPass.java
deleted file mode 100644
index a8c6bef..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/IDialogTestPass.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.harness/src/org/eclipse/ui/tests/internal/util/SizingTestPass.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/SizingTestPass.java
deleted file mode 100644
index 79d866b..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/SizingTestPass.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-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.harness/src/org/eclipse/ui/tests/internal/util/VerifyDialog.java b/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/VerifyDialog.java
deleted file mode 100644
index 8fb7895..0000000
--- a/tests/org.eclipse.ui.tests.harness/src/org/eclipse/ui/tests/internal/util/VerifyDialog.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.internal.util;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.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;
-
-/*
- * 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 _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);
-        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.views.properties.tabbed/.classpath b/tests/org.eclipse.ui.tests.views.properties.tabbed/.classpath
deleted file mode 100644
index 0215967..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/.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.jdt.launching.JRE_CONTAINER"/>

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

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

-</classpath>

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/.cvsignore b/tests/org.eclipse.ui.tests.views.properties.tabbed/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/.project b/tests/org.eclipse.ui.tests.views.properties.tabbed/.project
deleted file mode 100644
index d92ccf3..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.tests.views.properties.tabbed</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/tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9f0559d..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Feb 13 14:25:08 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.deprecation=ignore
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index dd632fd..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Tue Sep 12 08:59:52 EDT 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} IBM Corporation and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *     IBM Corporation - initial API and implementation\n ******************************************************************************/\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @since 3.3\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template></templates>
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 57ad3a2..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,15 +0,0 @@
-#Mon Feb 13 14:25:08 EST 2006
-compilers.p.build=1
-compilers.p.deprecated=1
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=1
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/META-INF/MANIFEST.MF b/tests/org.eclipse.ui.tests.views.properties.tabbed/META-INF/MANIFEST.MF
deleted file mode 100644
index 7a722f6..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.ui.tests.views.properties.tabbed;singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-Activator: org.eclipse.ui.tests.views.properties.tabbed.Activator
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.junit,
- org.eclipse.ui.ide,
- org.eclipse.ui.views.properties.tabbed
-Eclipse-LazyStart: true
-Bundle-Vendor: %Plugin.providerName
-Bundle-ClassPath: uitptests.jar
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/Tabbed Properties View-All Tests.launch b/tests/org.eclipse.ui.tests.views.properties.tabbed/Tabbed Properties View-All Tests.launch
deleted file mode 100644
index 55f7c36..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/Tabbed Properties View-All Tests.launch
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.ui.tests.views.properties.tabbed"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit3"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.ui.tests.views.properties.tabbed.AllTests"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.ui.tests.views.properties.tabbed"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
-<stringAttribute key="templateConfig" value=""/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="true"/>
-</launchConfiguration>
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/about.html b/tests/org.eclipse.ui.tests.views.properties.tabbed/about.html
deleted file mode 100644
index 4602330..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation 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
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/build.properties b/tests/org.eclipse.ui.tests.views.properties.tabbed/build.properties
deleted file mode 100644
index 8f2c68b..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               icons/,\
-               META-INF/,\
-               about.html,\
-               test.xml,\
-               uitptests.jar,\
-               plugin.properties
-
-src.includes = about.html
-jars.compile.order = uitptests.jar
-source.uitptests.jar = src/
-output.uitptests.jar = bin/
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/icons/sample.gif b/tests/org.eclipse.ui.tests.views.properties.tabbed/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/plugin.properties b/tests/org.eclipse.ui.tests.views.properties.tabbed/plugin.properties
deleted file mode 100644
index 848a2cf..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Plugin.name = Tabbed Properties View Tests
-Plugin.providerName = Eclipse.org
-
-Views.category.name = Tabbed Properties View
-Views.example.name = Tabbed Properties Tests View
-Views.example.perspective = Tabbed Properties View Tests Perspective
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/plugin.xml b/tests/org.eclipse.ui.tests.views.properties.tabbed/plugin.xml
deleted file mode 100644
index 621010d..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/plugin.xml
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%Views.category.name"
-            id="org.eclipse.ui.views.properties.tabbed">
-      </category>
-      <view
-            name="%Views.example.name"
-            category="org.eclipse.ui.views.properties.tabbed"
-            icon="icons/sample.gif"
-            class="org.eclipse.ui.tests.views.properties.tabbed.views.TestsView"
-            id="org.eclipse.ui.tests.views.properties.tabbed.views.TestsView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
-      <propertyContributor
-            contributorId="org.eclipse.ui.tests.views.properties.tabbed.views.TestsView"
-            labelProvider="org.eclipse.ui.tests.views.properties.tabbed.views.LabelProvider"
-            typeMapper="org.eclipse.ui.tests.views.properties.tabbed.views.TypeMapper">
-         <propertyCategory category="first">
-         </propertyCategory>
-         <propertyCategory category="second">
-         </propertyCategory>
-      </propertyContributor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertyTabs">
-      <propertyTabs contributorId="org.eclipse.ui.tests.views.properties.tabbed.views.TestsView">
-         <propertyTab
-               category="first"
-               id="propertyTab1"
-               label="Name"/>
-         <propertyTab
-               afterTab="propertyTab1"
-               category="first"
-               id="propertyTab2"
-               label="Project"/>
-         <propertyTab
-               afterTab="propertyTab2"
-               category="first"
-               id="propertyTab3"
-               label="Folder"/>
-         <propertyTab
-               afterTab="propertyTab3"
-               category="first"
-               id="propertyTab4"
-               label="File"/>
-         <propertyTab
-               afterTab="propertyTab4"
-               category="first"
-               id="propertyTab5"
-               label="Information"/>
-         <propertyTab
-               afterTab="propertyTab5"
-               category="first"
-               id="propertyTab6"
-               label="Warning"/>
-         <propertyTab
-               afterTab="propertyTab6"
-               category="first"
-               id="propertyTab7"
-               label="Error"/>
-         <propertyTab
-               category="second"
-               id="propertyTab8"
-               indented="true"
-               label="Message"/>
-         <propertyTab
-               category="second"
-               image="icons/sample.gif"
-               id="propertyTab9"
-               label="Resource"/>
-      </propertyTabs>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views.properties.tabbed.propertySections">
-      <propertySections contributorId="org.eclipse.ui.tests.views.properties.tabbed.views.TestsView">
-         <propertySection
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.NameSection"
-               enablesFor="1"
-               id="propertySection1"
-               tab="propertyTab1">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Element"/>
-         </propertySection>
-         <propertySection
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.LabelSection"
-               id="propertySection2"
-               tab="propertyTab2">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Project"/>
-         </propertySection>
-         <propertySection
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.LabelSection"
-               id="propertySection3"
-               tab="propertyTab3">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Folder"/>
-         </propertySection>
-         <propertySection
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.LabelSection"
-               id="propertySection4"
-               tab="propertyTab4">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.File"/>
-         </propertySection>
-         <propertySection
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.LabelSection"
-               id="propertySection5"
-               tab="propertyTab5">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Information"/>
-         </propertySection>
-         <propertySection
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.LabelSection"
-               id="propertySection6"
-               tab="propertyTab6">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Warning"/>
-         </propertySection>
-         <propertySection
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.LabelSection"
-               id="propertySection7"
-               tab="propertyTab7">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Error"/>
-         </propertySection>
-         <propertySection
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.MessageSection"
-               id="propertySection8"
-               tab="propertyTab8">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Error"/>
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Warning"/>
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Information"/>
-         </propertySection>
-         <propertySection
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.ResourceSection"
-               id="propertySection9"
-               tab="propertyTab9">
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.File"/>
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Folder"/>
-            <input type="org.eclipse.ui.tests.views.properties.tabbed.model.Project"/>
-         </propertySection>
-         <propertySection
-               afterSection="propertySection5"
-               class="org.eclipse.ui.tests.views.properties.tabbed.sections.InformationTwoSection"
-               filter="org.eclipse.ui.tests.views.properties.tabbed.views.InformationTwoFilter"
-               id="propertySection10"
-               tab="propertyTab1">
-         </propertySection>
-      </propertySections>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            class="org.eclipse.ui.tests.views.properties.tabbed.views.TestsPerspective"
-            icon="icons/sample.gif"
-            id="org.eclipse.ui.tests.views.properties.tabbed.views.TestsPerspective"
-            name="%Views.example.perspective">
-      </perspective>
-   </extension>
-
-
-</plugin>
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/Activator.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/Activator.java
deleted file mode 100644
index 8cfa680..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/Activator.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed;

-

-import org.eclipse.jface.resource.ImageDescriptor;

-import org.eclipse.ui.plugin.AbstractUIPlugin;

-import org.osgi.framework.BundleContext;

-

-/**

- * The main plugin class to be used in the desktop.

- */

-public class Activator

-    extends AbstractUIPlugin {

-

-    // The shared instance.

-    private static Activator plugin;

-

-    /**

-     * The constructor.

-     */

-    public Activator() {

-        plugin = this;

-    }

-

-    /**

-     * This method is called upon plug-in activation

-     */

-    public void start(BundleContext context)

-        throws Exception {

-        super.start(context);

-    }

-

-    /**

-     * This method is called when the plug-in is stopped

-     */

-    public void stop(BundleContext context)

-        throws Exception {

-        super.stop(context);

-        plugin = null;

-    }

-

-    /**

-     * Returns the shared instance.

-     */

-    public static Activator getDefault() {

-        return plugin;

-    }

-

-    /**

-     * Returns an image descriptor for the image file at the given plug-in

-     * relative path.

-     * 

-     * @param path

-     *            the path

-     * @return the image descriptor

-     */

-    public static ImageDescriptor getImageDescriptor(String path) {

-        return AbstractUIPlugin.imageDescriptorFromPlugin(

-            "org.eclipse.ui.tests.views.properties.tabbed", path); //$NON-NLS-1$

-    }

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/AllTests.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/AllTests.java
deleted file mode 100644
index 0f1c513..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/AllTests.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed;

-

-import junit.framework.Test;

-import junit.framework.TestCase;

-import junit.framework.TestSuite;

-import junit.textui.TestRunner;

-

-public class AllTests

-    extends TestCase {

-

-    public static void main(String[] args) {

-        TestRunner.run(suite());

-    }

-

-    public static Test suite() {

-        TestSuite suite = new TestSuite();

-        suite.addTestSuite(TabbedPropertySheetPageTest.class);

-        return suite;

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/TabbedPropertySheetPageTest.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/TabbedPropertySheetPageTest.java
deleted file mode 100644
index 266d77a..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/TabbedPropertySheetPageTest.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.views.properties.tabbed;
-
-import junit.framework.TestCase;
-
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeNode;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.views.properties.tabbed.view.Tab;
-import org.eclipse.ui.internal.views.properties.tabbed.view.TabbedPropertyComposite;
-import org.eclipse.ui.internal.views.properties.tabbed.view.TabbedPropertyList;
-import org.eclipse.ui.tests.views.properties.tabbed.sections.InformationTwoSection;
-import org.eclipse.ui.tests.views.properties.tabbed.sections.NameSection;
-import org.eclipse.ui.tests.views.properties.tabbed.views.TestsPerspective;
-import org.eclipse.ui.tests.views.properties.tabbed.views.TestsView;
-import org.eclipse.ui.tests.views.properties.tabbed.views.TestsViewContentProvider;
-import org.eclipse.ui.views.properties.tabbed.ISection;
-
-public class TabbedPropertySheetPageTest
-    extends TestCase {
-
-    private IViewPart propertiesView;
-
-    private TestsView testsView;
-
-    private TreeNode[] treeNodes;
-
-    protected void setUp()
-        throws Exception {
-        super.setUp();
-
-        /**
-         * Open the tests perspective.
-         */
-        IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench()
-            .getActiveWorkbenchWindow();
-        assertNotNull(workbenchWindow);
-        IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-        assertNotNull(workbenchPage);
-        PlatformUI.getWorkbench().showPerspective(
-            TestsPerspective.TESTS_PERSPECTIVE_ID, workbenchWindow);
-
-        /**
-         * Open the properties view.
-         */
-        propertiesView = workbenchPage.showView(IPageLayout.ID_PROP_SHEET);
-        assertNotNull(propertiesView);
-
-        /**
-         * Open the Tests view.
-         */
-        IViewPart view = workbenchPage.showView(TestsView.TESTS_VIEW_ID);
-        assertNotNull(view);
-        assertTrue(view instanceof TestsView);
-        testsView = (TestsView) view;
-
-        /**
-         * get the list of tree nodes from the view.
-         */
-        IContentProvider contentProvider = testsView.getViewer()
-            .getContentProvider();
-        assertTrue(contentProvider instanceof TestsViewContentProvider);
-        TestsViewContentProvider viewContentProvider = (TestsViewContentProvider) contentProvider;
-        treeNodes = viewContentProvider.getInvisibleRoot().getChildren();
-        assertEquals(treeNodes.length, 8);
-    }
-
-    protected void tearDown()
-        throws Exception {
-        super.tearDown();
-
-        /**
-         * Bug 175070: Make sure the views have finished painting before hiding them 
-         */
-        while (Display.getCurrent().readAndDispatch()) {
-            //
-        }
-
-        /**
-         * Close the properties view.
-         */
-        IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench()
-            .getActiveWorkbenchWindow();
-        assertNotNull(workbenchWindow);
-        IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-        assertNotNull(workbenchPage);
-        workbenchPage.hideView(propertiesView);
-        propertiesView = null;
-        /**
-         * Close the Tests view.
-         */
-        workbenchPage.hideView(testsView);
-        testsView = null;
-
-        treeNodes = null;
-    }
-
-    /**
-     * Set the selection in the view to cause the properties view to change.
-     * 
-     * @param selectedNodes
-     *            nodes to select in the view.
-     */
-    private void setSelection(TreeNode[] selectedNodes) {
-        StructuredSelection selection = new StructuredSelection(selectedNodes);
-        testsView.getViewer().setSelection(selection, true);
-    }
-
-    /**
-     * Get the list of tabs from the tabbed properties view.
-     * 
-     * @return the tab list.
-     */
-    private TabbedPropertyList getTabbedPropertyList() {
-        Control control = testsView.getTabbedPropertySheetPage().getControl();
-        assertTrue(control instanceof TabbedPropertyComposite);
-        TabbedPropertyComposite tabbedPropertyComposite = (TabbedPropertyComposite) control;
-        return tabbedPropertyComposite.getList();
-    }
-
-    /**
-     * When One Information Node is selected, three tabs display. Tests
-     * typeMapper, labelProvider, propertyCategories, afterTab attributes.
-     */
-    public void test_tabDisplay() {
-        /**
-         * select node 0 which is an Information
-         */
-        setSelection(new TreeNode[] {treeNodes[0]});
-        TabbedPropertyList tabbedPropertyList = getTabbedPropertyList();
-        /**
-         * First tab is Name
-         */
-        assertEquals(tabbedPropertyList.getElementAt(0).toString(), "Name");//$NON-NLS-1$
-        /**
-         * Second tab is Information
-         */
-        assertEquals(tabbedPropertyList.getElementAt(1).toString(),
-            "Information");//$NON-NLS-1$
-        /**
-         * Third tab is Message
-         */
-        assertEquals(tabbedPropertyList.getElementAt(2).toString(), "Message");//$NON-NLS-1$
-        /**
-         * No fourth tab
-         */
-        assertNull(tabbedPropertyList.getElementAt(3));
-    }
-
-    /**
-     * When Two Information Node is selected, only two tabs display. Tests
-     * enablesFor attribute.
-     */
-    public void test_enablesForFilter() {
-        /**
-         * select nodes
-         */
-        setSelection(new TreeNode[] {treeNodes[0], treeNodes[1]});
-        TabbedPropertyList tabbedPropertyList = getTabbedPropertyList();
-        /**
-         * First tab is Information
-         */
-        assertEquals(tabbedPropertyList.getElementAt(0).toString(),
-            "Information");//$NON-NLS-1$
-        /**
-         * Second tab is Message
-         */
-        assertEquals(tabbedPropertyList.getElementAt(1).toString(), "Message");//$NON-NLS-1$
-        /**
-         * No other tab
-         */
-        assertNull(tabbedPropertyList.getElementAt(2));
-    }
-
-    /**
-     * When Two Information Node is selected, two section displayed on Name tab.
-     * Tests filter, afterSection attribute.
-     */
-    public void test_sectionInformationTwoFilter() {
-        /**
-         * select nodes
-         */
-        setSelection(new TreeNode[] {treeNodes[1]});
-        TabbedPropertyList tabbedPropertyList = getTabbedPropertyList();
-        /**
-         * First tab is Information
-         */
-        assertEquals(tabbedPropertyList.getElementAt(0).toString(), "Name");//$NON-NLS-1$
-        Tab tab = testsView.getTabbedPropertySheetPage().getCurrentTab();
-        /**
-         * the tab has two sections.
-         */
-        ISection[] sections = tab.getSections();
-        assertEquals(sections.length, 2);
-        assertEquals(sections[0].getClass(), NameSection.class);
-        assertEquals(sections[1].getClass(), InformationTwoSection.class);
-    }
-
-    /**
-     * When Information, Error and Warning Nodes are selected, only the Message
-     * tab displays. Tests input attribute.
-     */
-    public void test_selectThreeMessageNodes() {
-        /**
-         * select nodes
-         */
-        setSelection(new TreeNode[] {treeNodes[1], treeNodes[2], treeNodes[3],});
-        TabbedPropertyList tabbedPropertyList = getTabbedPropertyList();
-        /**
-         * Only tab is Message
-         */
-        assertEquals(tabbedPropertyList.getElementAt(0).toString(), "Message");//$NON-NLS-1$
-        /**
-         * No other tab
-         */
-        assertNull(tabbedPropertyList.getElementAt(1));
-    }
-
-    /**
-     * When File, Folder and Project Nodes are selected, only the Resource tab
-     * displays. Tests input attribute.
-     */
-    public void test_selectThreeResourceNodes() {
-        /**
-         * select nodes
-         */
-        setSelection(new TreeNode[] {treeNodes[5], treeNodes[6], treeNodes[7],});
-        TabbedPropertyList tabbedPropertyList = getTabbedPropertyList();
-        /**
-         * Only tab is Resource
-         */
-        assertEquals(tabbedPropertyList.getElementAt(0).toString(), "Resource");//$NON-NLS-1$
-        /**
-         * No other tab
-         */
-        assertNull(tabbedPropertyList.getElementAt(1));
-    }
-
-    /**
-     * When the view first comes up, there is no properties so the "Properties
-     * are not available." banner is displayed. Tests null selection in a
-     * viewer.
-     */
-    public void test_noPropertiesAvailable() {
-        Tab tab = testsView.getTabbedPropertySheetPage().getCurrentTab();
-        assertNull(tab);
-        TabbedPropertyList tabbedPropertyList = getTabbedPropertyList();
-        assertNull(tabbedPropertyList.getElementAt(0));
-    }
-
-}
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Element.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Element.java
deleted file mode 100644
index 7e6f4c1..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Element.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.model;

-

-import org.eclipse.swt.graphics.Image;

-

-public abstract class Element {

-

-    private String name;

-

-    public Element(String aName) {

-        super();

-        this.name = aName;

-    }

-

-    public String getName() {

-        return name;

-    }

-

-    public abstract Image getImage();

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Error.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Error.java
deleted file mode 100644
index beb86a0..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Error.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.model;

-

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.ui.ISharedImages;

-import org.eclipse.ui.PlatformUI;

-

-public class Error

-    extends Element {

-

-    public Error(String name) {

-        super(name);

-    }

-

-    public Image getImage() {

-        return PlatformUI.getWorkbench().getSharedImages().getImage(

-            ISharedImages.IMG_OBJS_ERROR_TSK);

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/File.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/File.java
deleted file mode 100644
index e7f8761..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/File.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.model;

-

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.ui.ISharedImages;

-import org.eclipse.ui.PlatformUI;

-

-public class File

-    extends Element {

-

-    public File(String name) {

-        super(name);

-    }

-

-    public Image getImage() {

-        return PlatformUI.getWorkbench().getSharedImages().getImage(

-            ISharedImages.IMG_OBJ_FILE);

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Folder.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Folder.java
deleted file mode 100644
index f1251c7..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Folder.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.model;

-

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.ui.ISharedImages;

-import org.eclipse.ui.PlatformUI;

-

-public class Folder

-    extends Element {

-

-    public Folder(String name) {

-        super(name);

-    }

-

-    public Image getImage() {

-        return PlatformUI.getWorkbench().getSharedImages().getImage(

-            ISharedImages.IMG_OBJ_FOLDER);

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Information.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Information.java
deleted file mode 100644
index a6c515d..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Information.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.model;

-

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.ui.ISharedImages;

-import org.eclipse.ui.PlatformUI;

-

-public class Information

-    extends Element {

-

-    public Information(String name) {

-        super(name);

-    }

-

-    public Image getImage() {

-        return PlatformUI.getWorkbench().getSharedImages().getImage(

-            ISharedImages.IMG_OBJS_INFO_TSK);

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Project.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Project.java
deleted file mode 100644
index a883146..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Project.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.model;

-

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.ui.PlatformUI;

-import org.eclipse.ui.ide.IDE.SharedImages;

-

-public class Project

-    extends Element {

-

-    public Project(String name) {

-        super(name);

-    }

-

-    public Image getImage() {

-        return PlatformUI.getWorkbench().getSharedImages().getImage(

-            SharedImages.IMG_OBJ_PROJECT);

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Warning.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Warning.java
deleted file mode 100644
index 6498d3b..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/model/Warning.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.model;

-

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.ui.ISharedImages;

-import org.eclipse.ui.PlatformUI;

-

-public class Warning

-    extends Element {

-

-    public Warning(String name) {

-        super(name);

-    }

-

-    public Image getImage() {

-        return PlatformUI.getWorkbench().getSharedImages().getImage(

-            ISharedImages.IMG_OBJS_WARN_TSK);

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/InformationTwoSection.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/InformationTwoSection.java
deleted file mode 100644
index 0e24a3f..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/InformationTwoSection.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.sections;

-

-public class InformationTwoSection

-    extends LabelSection {

-

-    public InformationTwoSection() {

-        super();

-        label = "A section for Information that contains the word \"Two\"";//$NON-NLS-1$

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/LabelSection.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/LabelSection.java
deleted file mode 100644
index eb2822c..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/LabelSection.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.sections;

-

-import org.eclipse.swt.custom.CLabel;

-import org.eclipse.swt.layout.FormAttachment;

-import org.eclipse.swt.layout.FormData;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;

-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;

-

-public class LabelSection

-    extends AbstractPropertySection {

-

-    protected String label;

-

-    public LabelSection() {

-        super();

-        label = "A simple section.";//$NON-NLS-1$

-    }

-

-    public void createControls(Composite parent,

-            TabbedPropertySheetPage aTabbedPropertySheetPage) {

-        super.createControls(parent, aTabbedPropertySheetPage);

-        Composite composite = getWidgetFactory()

-            .createFlatFormComposite(parent);

-

-        CLabel nameLabel = getWidgetFactory().createCLabel(composite, label);

-        FormData data = new FormData();

-        data.left = new FormAttachment(0, 0);

-        data.right = new FormAttachment(100, 0);

-        data.top = new FormAttachment(0, 0);

-        nameLabel.setLayoutData(data);

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/MessageSection.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/MessageSection.java
deleted file mode 100644
index f529d73..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/MessageSection.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.sections;

-

-public class MessageSection

-    extends LabelSection {

-

-    public MessageSection() {

-        super();

-        label = "A section common to message elements (Information, Warning and Error)";//$NON-NLS-1$

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/NameSection.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/NameSection.java
deleted file mode 100644
index c1a82d9..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/NameSection.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.views.properties.tabbed.sections;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreeNode;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.tests.views.properties.tabbed.model.Element;
-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * The name section on the element tab.
- * 
- * @author Anthony Hunter
- */
-public class NameSection
-    extends AbstractPropertySection {
-
-    private TreeNode treeNode;
-
-    private Text nameText;
-
-    /**
-     * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySection#createControls(org.eclipse.swt.widgets.Composite,
-     *      org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage)
-     */
-    public void createControls(Composite parent,
-            TabbedPropertySheetPage tabbedPropertySheetPage) {
-        super.createControls(parent, tabbedPropertySheetPage);
-        Composite composite = getWidgetFactory()
-            .createFlatFormComposite(parent);
-        FormData data;
-
-        nameText = getWidgetFactory().createText(composite, ""); //$NON-NLS-1$
-        nameText.setEditable(false);
-        data = new FormData();
-        data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH);
-        data.right = new FormAttachment(100, 0);
-        data.top = new FormAttachment(0, 0);
-        nameText.setLayoutData(data);
-
-        CLabel nameLabel = getWidgetFactory().createCLabel(composite, "Name:"); //$NON-NLS-1$
-        data = new FormData();
-        data.left = new FormAttachment(0, 0);
-        data.right = new FormAttachment(nameText,
-            -ITabbedPropertyConstants.HSPACE);
-        data.top = new FormAttachment(nameText, 0, SWT.CENTER);
-        nameLabel.setLayoutData(data);
-
-    }
-
-    /**
-     * Get the element.
-     * 
-     * @return the element.
-     */
-    public TreeNode getTreeNode() {
-        return treeNode;
-    }
-
-    /*
-     * @see org.eclipse.ui.views.properties.tabbed.view.ITabbedPropertySection#refresh()
-     */
-    public void refresh() {
-        Element element = (Element) getTreeNode().getValue();
-        nameText.setText(element.getName());
-    }
-
-    public void setInput(IWorkbenchPart part, ISelection selection) {
-        super.setInput(part, selection);
-        Assert.isTrue(selection instanceof IStructuredSelection);
-        Object input = ((IStructuredSelection) selection).getFirstElement();
-        Assert.isTrue(input instanceof TreeNode);
-        this.treeNode = (TreeNode) input;
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/ResourceSection.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/ResourceSection.java
deleted file mode 100644
index 13b3624..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/sections/ResourceSection.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.sections;

-

-public class ResourceSection

-    extends LabelSection {

-

-    public ResourceSection() {

-        super();

-        label = "A section common to resource elements (Project, Folder and File)";//$NON-NLS-1$

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/InformationTwoFilter.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/InformationTwoFilter.java
deleted file mode 100644
index 610c2f1..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/InformationTwoFilter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.views;

-

-import org.eclipse.jface.viewers.IFilter;

-import org.eclipse.jface.viewers.TreeNode;

-import org.eclipse.ui.tests.views.properties.tabbed.model.Element;

-import org.eclipse.ui.tests.views.properties.tabbed.model.Information;

-

-/**

- * A filter for Information messages that have the work "Two" in them.

- * 

- * @author Anthony Hunter

- */

-public class InformationTwoFilter

-    implements IFilter {

-

-    public boolean select(Object object) {

-        if (object instanceof TreeNode) {

-            Element element = (Element) ((TreeNode) object).getValue();

-            if (element instanceof Information) {

-                Information information = (Information) element;

-                if (information.getName().indexOf("Two") > -1) {//$NON-NLS-1$

-                    return true;

-                }

-            }

-        }

-        return false;

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/LabelProvider.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/LabelProvider.java
deleted file mode 100644
index 10919e5..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/LabelProvider.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.views;

-

-import java.util.Iterator;

-

-import org.eclipse.jface.viewers.TreeNode;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.jface.viewers.StructuredSelection;

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.ui.tests.views.properties.tabbed.model.Element;

-

-/**

- * Label provider for the title bar for the tabbed property sheet page.

- * 

- * @author Anthony Hunter

- */

-public class LabelProvider

-    extends org.eclipse.jface.viewers.LabelProvider {

-

-    /**

-     * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)

-     */

-    public Image getImage(Object obj) {

-        if (obj == null || obj.equals(StructuredSelection.EMPTY)) {

-            return null;

-        }

-        if (obj instanceof IStructuredSelection) {

-            IStructuredSelection structuredSelection = (IStructuredSelection) obj;

-            if (areDifferentTypes(structuredSelection)) {

-                return null;

-            }

-            obj = structuredSelection.getFirstElement();

-        }

-        Element element = (Element) ((TreeNode) obj).getValue();

-        return element.getImage();

-    }

-

-    /**

-     * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)

-     */

-    public String getText(Object obj) {

-        if (obj == null || obj.equals(StructuredSelection.EMPTY)) {

-            return null;

-        }

-        int size = 1;

-        if (obj instanceof IStructuredSelection) {

-            IStructuredSelection structuredSelection = (IStructuredSelection) obj;

-            if (areDifferentTypes(structuredSelection)) {

-                return structuredSelection.size() + " items selected";//$NON-NLS-1$

-            }

-            obj = structuredSelection.getFirstElement();

-            size = structuredSelection.size();

-        }

-        StringBuffer ret = new StringBuffer();

-        Element element = (Element) ((TreeNode) obj).getValue();

-        String type = element.getClass().getName();

-        String name = element.getName();

-        ret.append('\u00AB');

-        ret.append(type.substring(type.lastIndexOf('.') + 1));

-        ret.append('\u00BB');

-        if (size == 1) {

-            ret.append(' ');

-            ret.append(name);

-        } else {

-            ret.append(' ');

-            ret.append(Integer.toString(size));

-            ret.append(" selected");//$NON-NLS-1$

-        }

-        return ret.toString();

-    }

-

-    /**

-     * Determine there are objects in the structured selection of different

-     * types.

-     * 

-     * @param structuredSelection

-     *            the structured selection.

-     * @return true if there are objects of different types in the selection.

-     */

-    private boolean areDifferentTypes(IStructuredSelection structuredSelection) {

-        if (structuredSelection.size() == 1) {

-            return false;

-        }

-        Iterator i = structuredSelection.iterator();

-        Element element = (Element) ((TreeNode) i.next()).getValue();

-        for (; i.hasNext();) {

-            Element next = (Element) ((TreeNode) i.next()).getValue();

-            if (next.getClass() != element.getClass()) {

-                return true;

-            }

-        }

-

-        return false;

-    }

-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsPerspective.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsPerspective.java
deleted file mode 100644
index 31b5b16..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsPerspective.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.ui.tests.views.properties.tabbed.views;
-
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-/**
- * Perspective used by the tabbed properties view test JUnit tests.
- * 
- * @since 3.3
- */
-public class TestsPerspective
-    implements IPerspectiveFactory {
-
-    public static final String TESTS_PERSPECTIVE_ID = "org.eclipse.ui.tests.views.properties.tabbed.views.TestsPerspective"; //$NON-NLS-1$
-
-    public void createInitialLayout(IPageLayout layout) {
-        String editorArea = layout.getEditorArea();
-        IFolderLayout left = layout.createFolder(
-            "left", IPageLayout.LEFT, (float) 0.25, editorArea);//$NON-NLS-1$
-        left.addView(TestsView.TESTS_VIEW_ID);
-        IFolderLayout bottom = layout.createFolder(
-            "bottom", IPageLayout.BOTTOM, (float) 0.75,//$NON-NLS-1$
-            editorArea);
-        bottom.addView(IPageLayout.ID_PROP_SHEET);
-    }
-
-}
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsView.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsView.java
deleted file mode 100644
index 8099080..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsView.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.views.properties.tabbed.views;
-
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeNode;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.tests.views.properties.tabbed.model.Element;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-public class TestsView
-    extends ViewPart
-    implements ITabbedPropertySheetPageContributor {
-
-    private TreeViewer viewer;
-
-    private TabbedPropertySheetPage tabbedPropertySheetPage;
-
-    public static final String TESTS_VIEW_ID = "org.eclipse.ui.tests.views.properties.tabbed.views.TestsView"; //$NON-NLS-1$
-
-    class ViewLabelProvider
-        extends LabelProvider {
-
-        public String getText(Object obj) {
-            Element element = (Element) ((TreeNode) obj).getValue();
-            return element.getName();
-        }
-
-        public Image getImage(Object obj) {
-            Element element = (Element) ((TreeNode) obj).getValue();
-            return element.getImage();
-        }
-    }
-
-    /**
-     * The constructor.
-     */
-    public TestsView() {
-        //
-    }
-
-    /**
-     * This is a callback that will allow us to create the viewer and initialize
-     * it.
-     */
-    public void createPartControl(Composite parent) {
-        viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-        viewer.setContentProvider(new TestsViewContentProvider(this));
-        viewer.setLabelProvider(new ViewLabelProvider());
-        viewer.setInput(getViewSite());
-        getSite().setSelectionProvider(viewer);
-    }
-
-    /**
-     * Passing the focus request to the viewer's control.
-     */
-    public void setFocus() {
-        viewer.getControl().setFocus();
-    }
-
-    public Object getAdapter(Class adapter) {
-        if (adapter == IPropertySheetPage.class) {
-            if (tabbedPropertySheetPage == null) {
-                tabbedPropertySheetPage = new TabbedPropertySheetPage(this);
-            }
-            return tabbedPropertySheetPage;
-        }
-        return super.getAdapter(adapter);
-    }
-
-    public String getContributorId() {
-        return TESTS_VIEW_ID;
-    }
-
-    public TreeViewer getViewer() {
-        return viewer;
-    }
-
-    public TabbedPropertySheetPage getTabbedPropertySheetPage() {
-        return tabbedPropertySheetPage;
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsViewContentProvider.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsViewContentProvider.java
deleted file mode 100644
index dd68ef6..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TestsViewContentProvider.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.views;

-

-import org.eclipse.jface.viewers.IStructuredContentProvider;

-import org.eclipse.jface.viewers.ITreeContentProvider;

-import org.eclipse.jface.viewers.TreeNode;

-import org.eclipse.jface.viewers.Viewer;

-import org.eclipse.ui.tests.views.properties.tabbed.model.Error;

-import org.eclipse.ui.tests.views.properties.tabbed.model.File;

-import org.eclipse.ui.tests.views.properties.tabbed.model.Folder;

-import org.eclipse.ui.tests.views.properties.tabbed.model.Information;

-import org.eclipse.ui.tests.views.properties.tabbed.model.Project;

-import org.eclipse.ui.tests.views.properties.tabbed.model.Warning;

-

-public class TestsViewContentProvider

-    implements IStructuredContentProvider, ITreeContentProvider {

-

-    /**

-     * 

-     */

-    private final TestsView view;

-

-    /**

-     * @param view

-     */

-    TestsViewContentProvider(TestsView aView) {

-        this.view = aView;

-    }

-

-    private TreeNode invisibleRoot;

-

-    public void inputChanged(Viewer v, Object oldInput, Object newInput) {

-        //

-    }

-

-    public void dispose() {

-        //

-    }

-

-    public Object[] getElements(Object parent) {

-        if (parent.equals(this.view.getViewSite())) {

-            if (invisibleRoot == null)

-                initialize();

-            return getChildren(invisibleRoot);

-        }

-        return getChildren(parent);

-    }

-

-    public Object getParent(Object child) {

-        if (child instanceof TreeNode) {

-            return ((TreeNode) child).getParent();

-        }

-        return null;

-    }

-

-    public Object[] getChildren(Object parent) {

-        if (parent instanceof TreeNode) {

-            return ((TreeNode) parent).getChildren();

-        }

-        return new Object[0];

-    }

-

-    public boolean hasChildren(Object parent) {

-        if (parent instanceof TreeNode)

-            return ((TreeNode) parent).hasChildren();

-        return false;

-    }

-

-    /*

-     * We will set up a dummy model to initialize tree heararchy. In a real

-     * code, you will connect to a real model and expose its hierarchy.

-     */

-    void initialize() {

-        TreeNode[] nodes = new TreeNode[] {

-            new TreeNode(new Information("Informational Message One")),//$NON-NLS-1$

-            new TreeNode(new Information("Informational Message Two")),//$NON-NLS-1$

-            new TreeNode(new Error("Error Message One")),//$NON-NLS-1$

-            new TreeNode(new Warning("Warning Message One")),//$NON-NLS-1$

-            new TreeNode(new File("file.txt")),//$NON-NLS-1$

-            new TreeNode(new File("another.txt")),//$NON-NLS-1$

-            new TreeNode(new Folder("folder")),//$NON-NLS-1$

-            new TreeNode(new Project("project"))};//$NON-NLS-1$

-        invisibleRoot = new TreeNode(new Project(""));//$NON-NLS-1$

-        invisibleRoot.setChildren(nodes);

-    }

-

-    public TreeNode getInvisibleRoot() {

-        return invisibleRoot;

-    }

-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TypeMapper.java b/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TypeMapper.java
deleted file mode 100644
index 5f20e44..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/src/org/eclipse/ui/tests/views/properties/tabbed/views/TypeMapper.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.ui.tests.views.properties.tabbed.views;

-

-import org.eclipse.jface.viewers.TreeNode;

-import org.eclipse.ui.views.properties.tabbed.AbstractTypeMapper;

-

-public class TypeMapper

-    extends AbstractTypeMapper {

-

-    public Class mapType(Object object) {

-        if (object instanceof TreeNode) {

-            return ((TreeNode) object).getValue().getClass();

-        }

-        return super.mapType(object);

-    }

-

-}

diff --git a/tests/org.eclipse.ui.tests.views.properties.tabbed/test.xml b/tests/org.eclipse.ui.tests.views.properties.tabbed/test.xml
deleted file mode 100644
index d5d6d89..0000000
--- a/tests/org.eclipse.ui.tests.views.properties.tabbed/test.xml
+++ /dev/null
@@ -1,50 +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.views.properties.tabbed"/>
-  <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="sniff-folder"
-              value="${eclipse-home}/tabbedproperties_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.views.properties.tabbed.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>